class Pitman
Constants
- DEFAULT_GEMS
Public Class Methods
collect(root)
click to toggle source
# File lib/pitman.rb, line 30 def self.collect(root) used = used_gems(root) all = gems_list all - (used + DEFAULT_GEMS) end
gems_list()
click to toggle source
# File lib/pitman.rb, line 5 def self.gems_list `gem list`.split("\n").collect { |str| str.split(" (").first.strip } end
parse(file)
click to toggle source
# File lib/pitman.rb, line 9 def self.parse(file) File.read(file) .split("\n") .select { |str| str =~ /\(.+\)/ } .collect { |str| str.split(" ").first } .uniq end
used_gems(root)
click to toggle source
# File lib/pitman.rb, line 17 def self.used_gems(root) dirs = root.children.select { |c| c.directory? } gems = dirs.collect do |dir| Dir.chdir(dir) do next unless File.exist?('Gemfile.lock') parse('Gemfile.lock') end end gems.flatten end