class LockDiff::Gem::LockfileComparator
Public Class Methods
new(old_lockfile:, new_lockfile:)
click to toggle source
# File lib/lock_diff/gem/lockfile_comparator.rb, line 4 def initialize(old_lockfile:, new_lockfile:) @old_lockfile = old_lockfile @new_lockfile = new_lockfile end
Public Instance Methods
call()
click to toggle source
# File lib/lock_diff/gem/lockfile_comparator.rb, line 9 def call old_specs_by_name = Spec.parse(@old_lockfile).map { |spec| [spec.name, spec] }.to_h new_specs_by_name = Spec.parse(@new_lockfile).map { |spec| [spec.name, spec] }.to_h names = (old_specs_by_name.keys + new_specs_by_name.keys).uniq names.map { |name| DiffInfo.new( old_package: (old_specs_by_name[name] || NullSpec.new(name)).to_package, new_package: (new_specs_by_name[name] || NullSpec.new(name)).to_package ) }.select(&:changed?) end