Harbor Documentation

Public Instance Methods

clear_event_handlers!(name = nil)

      # File lib/harbor/events.rb, line 60
60:       def clear_event_handlers!(name = nil)
61:         if name
62:           events[name.to_s] = nil
63:         else
64:           class_variable_set(:@@events, {})
65:         end
66:       end

clear_events!(name = nil)

      # File lib/harbor/events.rb, line 55
55:       def clear_events!(name = nil)
56:         warn "Harbor::Events::clear_events! has been deprecated. Use Harbor::Events::clear_event_handlers! instead."
57:         clear_event_handlers!(name)
58:       end

events()

      # File lib/harbor/events.rb, line 68
68:       def events
69:         class_variable_defined?(:@@events) ? class_variable_get(:@@events) : class_variable_set(:@@events, {})
70:       end

register_event(name, &block)

      # File lib/harbor/events.rb, line 72
72:       def register_event(name, &block)
73:         warn  "Harbor::Events::register_event has been deprecated. Use Harbor::Events::register_event_handler instead."
74:         #warn  "Harbor::Events::register_event has been deprecated. Use Harbor::Events::register_event_handler instead. (event_name: #{name.inspect})\n\t#{caller.join("\n\t")}"
75:         register_event_handler(name, nil, &block)
76:       end

register_event_handler(name, klass = nil, &block)

      # File lib/harbor/events.rb, line 78
78:       def register_event_handler(name, klass = nil, &block)
79:         if klass && block_given?
80:           raise "#{self.class}.register_event_handler expects a class OR a block, not both"
81:         elsif klass.nil? && !block_given?
82:           raise "#{self.class}.register_event_handler expects a class or a block"
83:         end
84: 
85:         if klass
86:           unless klass.is_a? Class
87:             raise "#{klass} is not a supported event handler; expected a class or block"
88:           end
89:           events[name.to_s] ||= []
90:           events[name.to_s] << klass
91:         elsif block_given?
92:           events[name.to_s] ||= []
93:           events[name.to_s] << block
94:         end
95:       end