diff options
author | Samuel Giddins <segiddins@segiddins.me> | 2017-01-02 17:14:26 -0600 |
---|---|---|
committer | Samuel Giddins <segiddins@segiddins.me> | 2017-01-02 17:14:26 -0600 |
commit | 3436818106a6955628dbeb33cda47f64ef309782 (patch) | |
tree | f3441da729eca908351bcd0cb03e7b607ee1f7ec /lib/bundler/cli.rb | |
parent | 748b1ba655158372f8d91a7b8e2a3eac5feb7235 (diff) | |
download | bundler-3436818106a6955628dbeb33cda47f64ef309782.tar.gz |
[CLI] Fail gracefully when multiple names are passed to `bundle gem`
Diffstat (limited to 'lib/bundler/cli.rb')
-rw-r--r-- | lib/bundler/cli.rb | 13 |
1 files changed, 12 insertions, 1 deletions
diff --git a/lib/bundler/cli.rb b/lib/bundler/cli.rb index 1fea6fdc..eb9362a5 100644 --- a/lib/bundler/cli.rb +++ b/lib/bundler/cli.rb @@ -418,8 +418,19 @@ module Bundler commands["gem"].tap do |gem_command| def gem_command.run(instance, args = []) + arity = 1 # name + require "bundler/cli/gem" - Gem.new(instance.options, *args, instance).run + cmd_args = args + [instance] + cmd_args.unshift(instance.options) + + cmd = begin + Gem.new(*cmd_args) + rescue ArgumentError => e + instance.class.handle_argument_error(self, e, args, arity) + end + + cmd.run end end |