flogic / flame

A fork of the seattle.rb flog project (why a fork? flog source is kept in a private perforce repo, and we wanted to add some new functionality, oh, and tests)

This URL has Read+Write access

flame / unpack.rb
100755 23 lines (18 sloc) 0.503 kb
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#!/usr/local/bin/ruby -w
 
code = '../code'
 
pattern = ARGV.empty? ? nil : Regexp.union(*ARGV)
 
Dir.mkdir code unless File.directory? code
 
Dir.chdir code do
  Dir["../gems/*.gem"].each do |gem|
    project = File.basename gem
    next unless project =~ pattern if pattern
    dir = project.sub(/\.gem$/, '')
    warn dir
    unless File.directory? dir then
      Dir.mkdir dir
      Dir.chdir dir do
        system "(tar -Oxf ../#{gem} data.tar.gz | tar zxf -) 2> /dev/null"
      end
    end
  end
end