Harbor::Events::ClassMethods
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