class Maven::Tools::GemfileLock
Public Class Methods
new(file)
click to toggle source
Calls superclass method
# File lib/maven/tools/gemfile_lock.rb, line 38 def initialize(file) super() current = nil bundler = false f = file.is_a?(File) ? file.path: file if File.exists? f File.readlines(f).each do |line| if line =~ /^BUNDLED WITH/ bundler = true elsif bundler line.strip! current = Dependency.new("bundler (#{line})") self[current.name] = current elsif line =~ /^ [^ ]/ line.strip! current = Dependency.new(line) self[current.name] = current elsif line =~ /^ [^ ]/ line.strip! current.add(line) if current end end end end
Public Instance Methods
dependency_hull(deps = [])
click to toggle source
# File lib/maven/tools/gemfile_lock.rb, line 77 def dependency_hull(deps = []) deps = deps.is_a?(Array) ? deps : [deps] result = {} deps.each do |dep| recurse(result, dep) end result end
hull()
click to toggle source
# File lib/maven/tools/gemfile_lock.rb, line 86 def hull dependency_hull(keys) end
recurse(result, dep)
click to toggle source
# File lib/maven/tools/gemfile_lock.rb, line 63 def recurse(result, dep) if d = self[dep] result[dep] = d.version if !result.key?(dep) d.dependencies.each do |name, version| unless result.key? name if name != 'bundler' result[name] = self[name].nil?? version : self[name].version recurse(result, name) end end end end end