lib/lockfile_preserver.rb
require "lockfile_preserver/version"
require "lockfile_preserver/pipeline"
require "lockfile_preserver/bundled_with"
require "lockfile_preserver/ruby_version"
require "lockfile_preserver/platforms"
module LockfilePreserver
def self.keep(original, updated, section = :bundled_with)
if section == :bundled_with
LockfilePreserver::BundledWith.new(original, updated).keep
elsif section == :ruby_version
LockfilePreserver::RubyVersion.new(original, updated).keep
elsif section == :platforms
LockfilePreserver::Platforms.new(original, updated).keep
elsif
abort %(We currently only support preserve "BUNDLED WITH" & "RUBY VERSION" section of lockfile.)
end
end
def self.keep_all(original, updated)
pipeline = Pipeline.new [
LockfilePreserver::BundledWith,
LockfilePreserver::RubyVersion,
LockfilePreserver::Platforms,
]
pipeline.call(original, updated)
end
end