Class: EvilEvents::Core::System::EventManager Private
- Inherits:
-
Object
- Object
- EvilEvents::Core::System::EventManager
- Defined in:
- lib/evil_events/core/system/event_manager.rb
Overview
This class is part of a private API. You should avoid using this class if possible, as it may be removed or be changed in the future.
Instance Attribute Summary collapse
- #manager_registry ⇒ EvilEvents::Core::Events::ManagerRegistry readonly private
Instance Method Summary collapse
-
#conditional_observe(event_condition, raw_subscriber, delegator) ⇒ Object
private
Void.
-
#initialize ⇒ EventManager
constructor
private
A new instance of EventManager.
- #managed_event?(event_class) ⇒ Boolean private
- #manager_of_event(event) ⇒ EvilEvents::Core::Events::Manager private
- #manager_of_event_type(event_type) ⇒ EvilEvents::Core::Events::Manager private
-
#observe(event_class, raw_subscriber, delegator) ⇒ Object
private
Void.
-
#observe_list(event_pattern, raw_subscriber, delegator) ⇒ Object
private
Void.
- #observers(event_class) ⇒ Array<EvilEvents::Core::Events::Subscriber> private
-
#raw_observe(event_type, raw_subscriber, delegator) ⇒ Object
private
Void.
-
#register_event_class(event_class) ⇒ Object
private
Void.
- #registered_events ⇒ Hash private
- #resolve_event_class(event_type) ⇒ Class{EvilEvents::Core::Events::AbstractEvent} private
- #resolve_event_object(event_type, id: nil, payload: {}, metadata: {}) ⇒ EvilEvents::Core::Events::AbstractEvent private
-
#scoped_observe(scoped_event_type, raw_subscriber, delegator) ⇒ Object
private
Void.
-
#unregister_event_class(event_class) ⇒ Object
private
Void.
Constructor Details
#initialize ⇒ EventManager
This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.
Returns a new instance of EventManager.
12 13 14 |
# File 'lib/evil_events/core/system/event_manager.rb', line 12 def initialize @manager_registry = EvilEvents::Core::Events::ManagerRegistry.new end |
Instance Attribute Details
#manager_registry ⇒ EvilEvents::Core::Events::ManagerRegistry (readonly)
This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.
10 11 12 |
# File 'lib/evil_events/core/system/event_manager.rb', line 10 def manager_registry @manager_registry end |
Instance Method Details
#conditional_observe(event_condition, raw_subscriber, delegator) ⇒ Object
This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.
Returns void.
67 68 69 70 |
# File 'lib/evil_events/core/system/event_manager.rb', line 67 def conditional_observe(event_condition, raw_subscriber, delegator) manager_registry.managers_of_event_condition(event_condition) .each { |manager| manager.observe(raw_subscriber, delegator) } end |
#managed_event?(event_class) ⇒ Boolean
This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.
144 145 146 |
# File 'lib/evil_events/core/system/event_manager.rb', line 144 def managed_event?(event_class) manager_registry.managed_event?(event_class) end |
#manager_of_event(event) ⇒ EvilEvents::Core::Events::Manager
This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.
100 101 102 |
# File 'lib/evil_events/core/system/event_manager.rb', line 100 def manager_of_event(event) manager_registry.manager_of_event(event.class) end |
#manager_of_event_type(event_type) ⇒ EvilEvents::Core::Events::Manager
This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.
108 109 110 |
# File 'lib/evil_events/core/system/event_manager.rb', line 108 def manager_of_event_type(event_type) manager_registry.manager_of_event_type(event_type) end |
#observe(event_class, raw_subscriber, delegator) ⇒ Object
This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.
Returns void.
22 23 24 25 |
# File 'lib/evil_events/core/system/event_manager.rb', line 22 def observe(event_class, raw_subscriber, delegator) manager_registry.manager_of_event(event_class) .observe(raw_subscriber, delegator) end |
#observe_list(event_pattern, raw_subscriber, delegator) ⇒ Object
This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.
Returns void.
56 57 58 59 |
# File 'lib/evil_events/core/system/event_manager.rb', line 56 def observe_list(event_pattern, raw_subscriber, delegator) manager_registry.managers_of_event_pattern(event_pattern) .each { |manager| manager.observe(raw_subscriber, delegator) } end |
#observers(event_class) ⇒ Array<EvilEvents::Core::Events::Subscriber>
This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.
76 77 78 |
# File 'lib/evil_events/core/system/event_manager.rb', line 76 def observers(event_class) manager_registry.manager_of_event(event_class).subscribers end |
#raw_observe(event_type, raw_subscriber, delegator) ⇒ Object
This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.
Returns void.
33 34 35 36 |
# File 'lib/evil_events/core/system/event_manager.rb', line 33 def raw_observe(event_type, raw_subscriber, delegator) manager_registry.manager_of_event_type(event_type) .observe(raw_subscriber, delegator) end |
#register_event_class(event_class) ⇒ Object
This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.
Returns void.
84 85 86 |
# File 'lib/evil_events/core/system/event_manager.rb', line 84 def register_event_class(event_class) manager_registry.register_with(event_class) end |
#registered_events ⇒ Hash
This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.
136 137 138 |
# File 'lib/evil_events/core/system/event_manager.rb', line 136 def registered_events manager_registry.managed_events_map end |
#resolve_event_class(event_type) ⇒ Class{EvilEvents::Core::Events::AbstractEvent}
This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.
129 130 131 |
# File 'lib/evil_events/core/system/event_manager.rb', line 129 def resolve_event_class(event_type) manager_of_event_type(event_type).event_class end |
#resolve_event_object(event_type, id: nil, payload: {}, metadata: {}) ⇒ EvilEvents::Core::Events::AbstractEvent
This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.
119 120 121 122 123 |
# File 'lib/evil_events/core/system/event_manager.rb', line 119 def resolve_event_object(event_type, id: nil, payload: {}, metadata: {}) manager_of_event_type(event_type).event_class.new( id: id, payload: payload, metadata: ) end |
#scoped_observe(scoped_event_type, raw_subscriber, delegator) ⇒ Object
This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.
Returns void.
45 46 47 48 |
# File 'lib/evil_events/core/system/event_manager.rb', line 45 def scoped_observe(scoped_event_type, raw_subscriber, delegator) manager_registry.managers_of_scoped_event_type(scoped_event_type) .each { |manager| manager.observe(raw_subscriber, delegator) } end |
#unregister_event_class(event_class) ⇒ Object
This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.
Returns void.
92 93 94 |
# File 'lib/evil_events/core/system/event_manager.rb', line 92 def unregister_event_class(event_class) manager_registry.unregister_with(event_class) end |