diff options
author | Samuel Giddins <segiddins@segiddins.me> | 2016-10-09 21:05:35 -0500 |
---|---|---|
committer | Samuel Giddins <segiddins@segiddins.me> | 2016-10-09 21:05:35 -0500 |
commit | 25166ae962c07afddd8b2387af61749f6a59c261 (patch) | |
tree | 4a9bc820fe4542fce3f3c2dce4343e67e49358ef | |
parent | c0f7f128a55ef3165da52b44f1b82fca80de3238 (diff) | |
download | bundler-seg-use-gemdeps.tar.gz |
[RubyGemsIntegration] Add a single method for #use_gemdepsseg-use-gemdeps
-rw-r--r-- | lib/bundler/gemdeps.rb | 28 | ||||
-rw-r--r-- | lib/bundler/rubygems_integration.rb | 8 |
2 files changed, 36 insertions, 0 deletions
diff --git a/lib/bundler/gemdeps.rb b/lib/bundler/gemdeps.rb new file mode 100644 index 0000000000..8595b8c7ea --- /dev/null +++ b/lib/bundler/gemdeps.rb @@ -0,0 +1,28 @@ +# frozen_string_literal: true +module Bundler + class Gemdeps + def initialize(runtime) + @runtime = runtime + end + + def requested_specs + @runtime.requested_specs + end + + def specs + @runtime.specs + end + + def dependencies + @runtime.dependencies + end + + def current_dependencies + @runtime.current_dependencies + end + + def requires + @runtime.requires + end + end +end diff --git a/lib/bundler/rubygems_integration.rb b/lib/bundler/rubygems_integration.rb index 90da0b4645..488aa8b9a4 100644 --- a/lib/bundler/rubygems_integration.rb +++ b/lib/bundler/rubygems_integration.rb @@ -751,6 +751,14 @@ module Bundler end.map(&:to_spec) end end + + def use_gemdeps(gemfile) + ENV["BUNDLE_GEMFILE"] ||= File.expand_path(gemfile) + runtime = Bundler.setup + Bundler.ui = nil + activated_spec_names = runtime.requested_specs.map(&:to_spec).sort_by(&:name) + [Gemdeps.new(runtime), activated_spec_names] + end end end |