Harbor Documentation

Public Class Methods

included(target)

     # File lib/harbor/events.rb, line 5
5:     def self.included(target)
6:       target.extend(ClassMethods)
7:     end

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