summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSamuel Giddins <segiddins@segiddins.me>2016-12-05 15:44:24 -0600
committerSamuel Giddins <segiddins@segiddins.me>2016-12-05 15:44:24 -0600
commit242fcbcb2d15d39c63e3441756b77fbfcc1b73b2 (patch)
tree70d00209e84731ac507ce50f859b481b84d1ccc2
parent1f10c7f07fdbe5b664272d54657b5687bc881810 (diff)
downloadbundler-seg-lock-add-platform-ruby.tar.gz
[Lock] Fix --add-platform rubyseg-lock-add-platform-ruby
Necessary since the ruby platform is a string instead of a platform object
-rw-r--r--lib/bundler/cli/lock.rb2
-rw-r--r--spec/commands/lock_spec.rb6
2 files changed, 7 insertions, 1 deletions
diff --git a/lib/bundler/cli/lock.rb b/lib/bundler/cli/lock.rb
index 2ccaba86eb..beeb2e4633 100644
--- a/lib/bundler/cli/lock.rb
+++ b/lib/bundler/cli/lock.rb
@@ -33,7 +33,7 @@ module Bundler
options["add-platform"].each do |platform_string|
platform = Gem::Platform.new(platform_string)
- if platform.to_a.compact == %w(unknown)
+ if platform.to_s == "unknown"
Bundler.ui.warn "The platform `#{platform_string}` is unknown to RubyGems " \
"and adding it will likely lead to resolution errors"
end
diff --git a/spec/commands/lock_spec.rb b/spec/commands/lock_spec.rb
index 1c00aa3c1f..b51003f257 100644
--- a/spec/commands/lock_spec.rb
+++ b/spec/commands/lock_spec.rb
@@ -161,6 +161,12 @@ describe "bundle lock" do
expect(lockfile.platforms).to eq([java, local, mingw])
end
+ it "supports adding the `ruby` platform" do
+ bundle! "lock --add-platform ruby"
+ lockfile = Bundler::LockfileParser.new(read_lockfile)
+ expect(lockfile.platforms).to eq([local, "ruby"].uniq)
+ end
+
it "warns when adding an unknown platform" do
bundle "lock --add-platform foobarbaz"
expect(out).to include("The platform `foobarbaz` is unknown to RubyGems and adding it will likely lead to resolution errors")