Sha256: 49d4b49abffede6783a5a6d29b6acd20be7e3cb3d23003d1bc8ebb97b28e6e3d
Contents?: true
Size: 1004 Bytes
Versions: 8
Compression:
Stored size: 1004 Bytes
Contents
module SandthornDriverSequel class Storage # = Storage # Abstracts access to contextualized database tables. # # == Rationale # Provide object-oriented access to the different tables to other objects. # Make it unnecessary for them to know about the current context. include EventStoreContext attr_reader :db def initialize(db, context) @db = db @context = context end # Returns a Sequel::Model for accessing aggregates def aggregates Class.new(Sequel::Model(aggregates_table)) end # Returns a Sequel::Model for accessing events def events Class.new(Sequel::Model(events_table)) end # Returns a Sequel::Model for accessing snapshots def snapshots Class.new(Sequel::Model(snapshots_table)) end def aggregates_table db[aggregates_table_name] end def events_table db[events_table_name] end def snapshots_table db[snapshots_table_name] end end end
Version data entries
8 entries across 8 versions & 1 rubygems