class ItamaeMitsurin::HandlerProxy
Public Class Methods
new()
click to toggle source
# File lib/itamae-mitsurin/handler_proxy.rb, line 3 def initialize @instances = [] end
Public Instance Methods
event(*args, &block)
click to toggle source
# File lib/itamae-mitsurin/handler_proxy.rb, line 11 def event(*args, &block) if block_given? _event_with_block(*args, &block) else _event(*args) end end
register_instance(instance)
click to toggle source
# File lib/itamae-mitsurin/handler_proxy.rb, line 7 def register_instance(instance) @instances << instance end
Private Instance Methods
_event(*args)
click to toggle source
# File lib/itamae-mitsurin/handler_proxy.rb, line 21 def _event(*args) @instances.each do |i| i.event(*args) end end
_event_with_block(event_name, *args, &block)
click to toggle source
# File lib/itamae-mitsurin/handler_proxy.rb, line 27 def _event_with_block(event_name, *args, &block) event("#{event_name}_started".to_sym, *args) block.call rescue event("#{event_name}_failed".to_sym, *args) raise else event("#{event_name}_completed".to_sym, *args) end