Harbor::Events
Public Class Methods
Public Instance Methods
raise_event(name, *args)
# File lib/harbor/events.rb, line 9 9: def raise_event(name, *args) 10: if args.size == 1 && args.first.is_a?(Hash) 11: args = EventContext.new(args.first) 12: else 13: warn "Using ordinal arguments when calling Harbor::Events#raise_event is deprecated. Harbor::Events#raise_event expects the name of the event, and a hash representing the context." 14: #warn "Using ordinal arguments when calling Harbor::Events#raise_event is deprecated. Harbor::Events#raise_event expects the name of the event, and a hash representing the context. (event name: #{name.inspect})\n\t#{caller.join("\n\t")}" 15: end 16: 17: if self.class.events[name.to_s].nil? 18: return false 19: else 20: self.class.events[name.to_s].each do |event| 21: case event 22: when Proc 23: event.call(*args) 24: when Class 25: event.new(*args).call 26: else 27: raise "Unsupported handler class (#{event.class}) for event (#{name})" 28: end 29: end 30: return true 31: end 32: end
raise_event2(name, event)
# File lib/harbor/events.rb, line 34 34: def raise_event2(name, event) 35: registered_handlers = self.class.events[name.to_s] 36: if registered_handlers.nil? 37: false 38: else 39: registered_handlers.each do |handler| 40: case handler 41: when Proc 42: handler.call(event) 43: when Class 44: handler.new(event).call 45: else 46: raise "Unsupported handler class (#{handler.class}) for event (#{name})" 47: end 48: end 49: return true 50: end 51: end