class EventSourcing::Aggregate::Manager

Constants

InstanceOf

Public Class Methods

new(event_bus) click to toggle source
# File lib/event_sourcing/aggregate/manager.rb, line 11
def initialize(event_bus)
  @event_bus = event_bus
end

Public Instance Methods

default_reference_class() click to toggle source
# File lib/event_sourcing/aggregate/manager.rb, line 23
def default_reference_class
  Reference
end
on_message(message) click to toggle source
# File lib/event_sourcing/aggregate/manager.rb, line 15
def on_message(message)
  case message
  when Aggregate::Message
    cache.instance_of(message.aggregate, message.id).tell(message.message)
    #TODO Handle aggregate timeout and failure (remove from cache)
  end
end

Private Instance Methods

cache() click to toggle source
# File lib/event_sourcing/aggregate/manager.rb, line 28
def cache
  @cache ||= Cache.new(@event_bus)
end