diff options
author | Samuel Giddins <segiddins@segiddins.me> | 2017-01-01 13:13:10 -0600 |
---|---|---|
committer | Samuel Giddins <segiddins@segiddins.me> | 2017-01-01 13:13:10 -0600 |
commit | 748b1ba655158372f8d91a7b8e2a3eac5feb7235 (patch) | |
tree | 4c900fa27c89f23d1991e7cb011d255d5fad6410 | |
parent | ecae8bfff76854c2bf27339240f7044758533ef9 (diff) | |
download | bundler-748b1ba655158372f8d91a7b8e2a3eac5feb7235.tar.gz |
[CLI] Dont override Kernel#gem for bundle gem
-rw-r--r-- | lib/bundler/cli.rb | 15 |
1 files changed, 13 insertions, 2 deletions
diff --git a/lib/bundler/cli.rb b/lib/bundler/cli.rb index ba6a58db1d..1fea6fdcb5 100644 --- a/lib/bundler/cli.rb +++ b/lib/bundler/cli.rb @@ -401,6 +401,8 @@ module Bundler Viz.new(options.dup).run end + old_gem = instance_method(:gem) + desc "gem GEM [OPTIONS]", "Creates a skeleton for creating a rubygem" method_option :exe, :type => :boolean, :default => false, :aliases => ["--bin", "-b"], :desc => "Generate a binary executable for your library." method_option :coc, :type => :boolean, :desc => "Generate a code of conduct file. Set a default with `bundle config gem.coc true`." @@ -412,10 +414,19 @@ module Bundler method_option :test, :type => :string, :lazy_default => "rspec", :aliases => "-t", :banner => "rspec", :desc => "Generate a test directory for your library, either rspec or minitest. Set a default with `bundle config gem.test rspec`." def gem(name) - require "bundler/cli/gem" - Gem.new(options, name, self).run end + commands["gem"].tap do |gem_command| + def gem_command.run(instance, args = []) + require "bundler/cli/gem" + Gem.new(instance.options, *args, instance).run + end + end + + undef_method(:gem) + define_method(:gem, old_gem) + private :gem + def self.source_root File.expand_path(File.join(File.dirname(__FILE__), "templates")) end |