module Bundler::Plugin

def hook(event, *args, &arg_blk)

Parameters:
  • event (String) --
def hook(event, *args, &arg_blk)
  return unless Bundler.feature_flag.plugins?
  unless Events.defined_event?(event)
    raise ArgumentError, "Event '#{event}' not defined in Bundler::Plugin::Events"
  end
  plugins = index.hook_plugins(event)
  return unless plugins.any?
  plugins.each {|name| load_plugin(name) }
  @hooks_by_event[event].each {|blk| blk.call(*args, &arg_blk) }
end