class SandthornDriverEventStore::EventStore
Attributes
driver[R]
Public Class Methods
new(event_store_driver: @driver = event_store_driver)
click to toggle source
# File lib/sandthorn_driver_event_store/event_store.rb, line 6 def initialize event_store_driver: @driver = event_store_driver driver.execute do |db| @storage = db end end
Public Instance Methods
all(aggregate_type)
click to toggle source
# File lib/sandthorn_driver_event_store/event_store.rb, line 28 def all aggregate_type raise :NotImplemented end
find(aggregate_id, aggregate_type, after_aggregate_version = 0)
click to toggle source
# File lib/sandthorn_driver_event_store/event_store.rb, line 21 def find aggregate_id, aggregate_type, after_aggregate_version = 0 driver.execute do |db| event_access = get_event_access(db) event_access.find_events(aggregate_id, aggregate_type, after_aggregate_version) end end
get_events(*args)
click to toggle source
# File lib/sandthorn_driver_event_store/event_store.rb, line 32 def get_events(*args) raise :NotImplemented end
save_events(events, aggregate_id, aggregate_type)
click to toggle source
# File lib/sandthorn_driver_event_store/event_store.rb, line 13 def save_events events, aggregate_id, aggregate_type driver.execute do |db| event_access = get_event_access(db) events = events.map { |event| event[:aggregate_type] = aggregate_type; event[:aggregate_id] = aggregate_id; event;} event_access.store_events(events) end end
Private Instance Methods
get_event_access(db)
click to toggle source
# File lib/sandthorn_driver_event_store/event_store.rb, line 39 def get_event_access(db) EventAccess.new(storage(db)) end
storage(db)
click to toggle source
# File lib/sandthorn_driver_event_store/event_store.rb, line 43 def storage(db) @storage end