Module: WellKnown::Hooks

Defined in:
lib/well_known/hooks.rb

Defined Under Namespace

Classes: FailedHook, Registry

Class Method Summary collapse

Class Method Details

.register(name, &blk) ⇒ Object



42
43
44
# File 'lib/well_known/hooks.rb', line 42

def self.register(name, &blk)
  Registry.instance.register(name, &blk)
end

.run(name, *args, **kwargs) ⇒ Object



46
47
48
49
50
51
52
53
# File 'lib/well_known/hooks.rb', line 46

def self.run(name, *args, **kwargs)
  hooks = Registry.instance[name]
  hooks&.each do |hook|
    hook.call(*args, **kwargs)
  rescue StandardError => e
    raise FailedHook.new(name, hook.source_location, e)
  end
end