lib/keep_up/bundle.rb in keep_up-0.3.0 vs lib/keep_up/bundle.rb in keep_up-0.4.0
- old
+ new
@@ -4,10 +4,14 @@
require_relative 'dependency'
module KeepUp
# A Gemfile with its current set of locked dependencies.
class Bundle
+ def initialize(definition_builder:)
+ @definition_builder = definition_builder
+ end
+
def direct_dependencies
(gemspec_dependencies + gemfile_dependencies).map do |dep|
spec = locked_spec dep
next unless spec
Dependency.new(name: dep.name,
@@ -23,10 +27,12 @@
update_lockfile(dependency)
end
private
+ attr_reader :definition_builder
+
def gemfile_dependencies
bundler_lockfile.dependencies
end
def gemspec_dependencies
@@ -42,11 +48,11 @@
def bundler_lockfile
@bundler_lockfile ||= bundler_definition.locked_gems
end
def bundler_definition
- @bundler_definition ||= Bundler::Definition.build('Gemfile', 'Gemfile.lock', false)
+ @bundler_definition ||= definition_builder.build(false)
end
def update_gemfile_contents(dependency)
current_dependency = gemfile_dependencies.find { |it| it.name == dependency.name }
return if !current_dependency
@@ -77,12 +83,10 @@
end
end
def update_lockfile(dependency)
Bundler.clear_gemspec_cache
- Bundler::Definition.build('Gemfile', 'Gemfile.lock', gems: [dependency.name]).
- tap(&:resolve_remotely!).
- lock('Gemfile.lock')
+ definition_builder.build(gems: [dependency.name]).lock('Gemfile.lock')
true
rescue Bundler::VersionConflict
puts 'Update failed'
false
end