class Eventusha::Event
Public Class Methods
event_handler(handler_name)
click to toggle source
# 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)
click to toggle source
# File lib/eventusha/event.rb, line 5 def self.prepare(aggregate_id, attributes) new( aggregate_id: aggregate_id, data: attributes, name: self.name ) end
Public Instance Methods
method_name()
click to toggle source
# File lib/eventusha/event.rb, line 19 def method_name name.demodulize.underscore end
publish()
click to toggle source
# File lib/eventusha/event.rb, line 23 def publish event_handler_class.new.send("on_#{method_name}", self) end