7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
|
# File 'lib/subbundle.rb', line 7
def self.setup(*gems)
Bundler::Definition.no_lock = true
Bundler.definition.tap do |definition|
definition.dependencies.keep_if { |dependency| gems.include?(dependency.name) }
definition.locked_deps.keep_if { |name, _| gems.include?(name) }
spec_set = Bundler::SpecSet.new(definition.instance_variable_get(:@locked_specs).for(definition.dependencies, false, true))
definition.instance_variable_set(:@locked_specs, spec_set)
end
Bundler.require
end
|