class Unbundler::GemList
Public Class Methods
new(keep_list)
click to toggle source
# File lib/unbundler/gem_list.rb, line 6 def initialize(keep_list) @keep_list = KeepList.new(keep_list || []) @global_keep_list = KeepList.new(global_keep_list) end
Public Instance Methods
each() { |name| ... }
click to toggle source
# File lib/unbundler/gem_list.rb, line 11 def each gems_to_unbundle.each do |gem| yield gem.name end end
Private Instance Methods
bundled_gems()
click to toggle source
# File lib/unbundler/gem_list.rb, line 43 def bundled_gems @bundled_gems ||= Bundler.load.specs end
create_default_keep_list()
click to toggle source
# File lib/unbundler/gem_list.rb, line 23 def create_default_keep_list keep_list_file = File.expand_path("~/.unbundler_keep") File.open(keep_list_file, "w") do |keep_list| keep_list.puts "unbundler" unbundler_runtime_dependencies.each do |gem| keep_list.puts "#{gem.name} '#{gem.requirement.to_s}'" end end end
gems_to_unbundle()
click to toggle source
# File lib/unbundler/gem_list.rb, line 48 def gems_to_unbundle @gems_to_unbundle ||= bundled_gems.reject { |gem| in_keep_list?(gem) } end
global_keep_list()
click to toggle source
# File lib/unbundler/gem_list.rb, line 33 def global_keep_list keep_list_file = File.expand_path("~/.unbundler_keep") create_default_keep_list unless File.exist?(keep_list_file) File.open(keep_list_file).readlines.map(&:chomp).map(&:strip) end
in_keep_list?(gem)
click to toggle source
# File lib/unbundler/gem_list.rb, line 39 def in_keep_list?(gem) @keep_list.include?(gem) || @global_keep_list.include?(gem) end
unbundler_runtime_dependencies()
click to toggle source
# File lib/unbundler/gem_list.rb, line 19 def unbundler_runtime_dependencies Gem::Dependency.new("unbundler").to_spec.runtime_dependencies end