Class: PubSub::EventClassFactory
- Inherits:
-
Object
- Object
- PubSub::EventClassFactory
- Defined in:
- lib/pub_sub/event_class_factory.rb
Constant Summary collapse
- EventClassDoesNotExist =
Class.new(StandardError)
Class Method Summary collapse
Instance Method Summary collapse
- #build_event_class ⇒ Object
-
#initialize(event_name, domain_name:, abstract_event_class:) ⇒ EventClassFactory
constructor
A new instance of EventClassFactory.
Constructor Details
#initialize(event_name, domain_name:, abstract_event_class:) ⇒ EventClassFactory
Returns a new instance of EventClassFactory.
13 14 15 16 17 |
# File 'lib/pub_sub/event_class_factory.rb', line 13 def initialize(event_name, domain_name:, abstract_event_class:) @event_name = event_name.to_s @abstract_event_class = abstract_event_class @domain_name = domain_name end |
Class Method Details
.build(event_name, domain_name: nil, abstract_event_class: nil) ⇒ Object
5 6 7 8 9 10 11 |
# File 'lib/pub_sub/event_class_factory.rb', line 5 def self.build(event_name, domain_name: nil, abstract_event_class: nil) new( event_name, domain_name:, abstract_event_class: ).build_event_class end |
Instance Method Details
#build_event_class ⇒ Object
19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 |
# File 'lib/pub_sub/event_class_factory.rb', line 19 def build_event_class event_class = res_event_class_name.safe_constantize return event_class if event_class.present? event_class = event_class_name.safe_constantize return event_class if event_class.present? if abstract_event_class.nil? raise(EventClassDoesNotExist, event_class_name) else register_new_event_class end end |