diff options
| -rw-r--r-- | lib/bundler/dsl.rb | 4 | ||||
| -rw-r--r-- | spec/bundler/bundler/dsl_spec.rb | 17 |
2 files changed, 13 insertions, 8 deletions
diff --git a/lib/bundler/dsl.rb b/lib/bundler/dsl.rb index 92abd07a84..46389b6c68 100644 --- a/lib/bundler/dsl.rb +++ b/lib/bundler/dsl.rb @@ -195,10 +195,6 @@ module Bundler raise ArgumentError, "`override :all, version:` is not allowed; version requirements are per-gem" end - if target == :all && operations.any? - raise ArgumentError, "`override :all` is not yet supported" - end - operations.each do |field, operation| validate_override_field!(field) validate_override_operation!(operation) diff --git a/spec/bundler/bundler/dsl_spec.rb b/spec/bundler/bundler/dsl_spec.rb index 6df665e3d9..a04528a57f 100644 --- a/spec/bundler/bundler/dsl_spec.rb +++ b/spec/bundler/bundler/dsl_spec.rb @@ -444,10 +444,19 @@ RSpec.describe Bundler::Dsl do expect(override.operation).to be_nil end - it "raises ArgumentError for `override :all, required_ruby_version:` until :all is implemented" do - expect do - subject.override(:all, required_ruby_version: :ignore_upper) - end.to raise_error(ArgumentError, /`override :all` is not yet supported/) + it "stores an Override targeting :all with a metadata field" do + subject.override(:all, required_ruby_version: :ignore_upper) + override = subject.overrides.first + expect(override.target).to eq(:all) + expect(override.field).to eq(:required_ruby_version) + expect(override.operation).to eq(:ignore_upper) + end + + it "stores an Override targeting :all with required_rubygems_version" do + subject.override(:all, required_rubygems_version: nil) + override = subject.overrides.first + expect(override.target).to eq(:all) + expect(override.field).to eq(:required_rubygems_version) end it "raises ArgumentError for a non-string, non-symbol, non-nil operation" do |
