class Pessimize::GemfileLockVersionParser

Attributes

versions[RW]

Public Class Methods

new() click to toggle source
# File lib/pessimize/gemfile_lock_version_parser.rb, line 7
def initialize
  self.versions = {}
end

Public Instance Methods

call(gemfile_lock_file) click to toggle source
# File lib/pessimize/gemfile_lock_version_parser.rb, line 11
def call(gemfile_lock_file)
  parser = Bundler::LockfileParser.new(gemfile_lock_file.read)
  self.versions = collect_names_and_versions(parser.specs)
  self
end

Protected Instance Methods

collect_names_and_versions(specs) click to toggle source
# File lib/pessimize/gemfile_lock_version_parser.rb, line 20
def collect_names_and_versions(specs)
  Hash[specs.
        reject { |s| s.source.is_a?(Bundler::Source::Git) }.
        collect { |s| [s.name, s.version.to_s] }]
end