Class: Eventusha::Event
- Inherits:
-
ActiveRecord::Base
- Object
- ActiveRecord::Base
- Eventusha::Event
- Defined in:
- lib/eventusha/event.rb
Class Method Summary collapse
Instance Method Summary collapse
Class Method Details
.event_handler(handler_name) ⇒ Object
13 14 15 16 17 |
# File 'lib/eventusha/event.rb', line 13 def self.event_handler(handler_name) define_method :event_handler_class do "EventHandlers::#{handler_name.to_s.classify}".constantize end end |
.prepare(aggregate_id, attributes) ⇒ Object
5 6 7 8 9 10 11 |
# File 'lib/eventusha/event.rb', line 5 def self.prepare(aggregate_id, attributes) new( aggregate_id: aggregate_id, data: attributes, name: self.name ) end |
Instance Method Details
#method_name ⇒ Object
19 20 21 |
# File 'lib/eventusha/event.rb', line 19 def method_name name.demodulize.underscore end |
#publish ⇒ Object
23 24 25 |
# File 'lib/eventusha/event.rb', line 23 def publish event_handler_class.new.send("on_#{method_name}", self) end |