diff options
author | David RodrÃguez <[email protected]> | 2021-08-20 13:45:17 +0200 |
---|---|---|
committer | Hiroshi SHIBATA <[email protected]> | 2021-08-31 19:06:14 +0900 |
commit | 3a9dd795a70705d130fb856db148b068d26821c1 (patch) | |
tree | 858afd4cf8eec7e3ce7f672a59c686ba5a4420bb /lib | |
parent | 2aed061384f68b10d8a4a973009512cb57999c63 (diff) |
[rubygems/rubygems] Move some logic to a `save_plugin` method
https://github.com/rubygems/rubygems/commit/9620bee2a5
Notes
Notes:
Merged: https://github.com/ruby/ruby/pull/4789
Diffstat (limited to 'lib')
-rw-r--r-- | lib/bundler/plugin.rb | 19 |
1 files changed, 16 insertions, 3 deletions
diff --git a/lib/bundler/plugin.rb b/lib/bundler/plugin.rb index bfe4fd7286..ab4b209f6e 100644 --- a/lib/bundler/plugin.rb +++ b/lib/bundler/plugin.rb @@ -246,9 +246,8 @@ module Bundler def save_plugins(plugins, specs, optional_plugins = []) plugins.each do |name| spec = specs[name] - validate_plugin! Pathname.new(spec.full_gem_path) - installed = register_plugin(name, spec, optional_plugins.include?(name)) - Bundler.ui.info "Installed plugin #{name}" if installed + + save_plugin(name, spec, optional_plugins.include?(name)) end end @@ -263,6 +262,20 @@ module Bundler raise MalformattedPlugin, "#{PLUGIN_FILE_NAME} was not found in the plugin." unless plugin_file.file? end + # Validates and registers a plugin. + # + # @param [String] name the name of the plugin + # @param [Specification] spec of installed plugin + # @param [Boolean] optional_plugin, removed if there is conflict with any + # other plugin (used for default source plugins) + # + # @raise [MalformattedPlugin] if validation or registration raises any error + def save_plugin(name, spec, optional_plugin = false) + validate_plugin! Pathname.new(spec.full_gem_path) + installed = register_plugin(name, spec, optional_plugin) + Bundler.ui.info "Installed plugin #{name}" if installed + end + # Runs the plugins.rb file in an isolated namespace, records the plugin # actions it registers for and then passes the data to index to be stored. # |