Module: EventStoreRuby

Defined in:
lib/eventstore_ruby.rb,
lib/eventstore_ruby/event.rb,
lib/eventstore_ruby/filter.rb,
lib/eventstore_ruby/version.rb,
lib/eventstore_ruby/event_query.rb,
lib/eventstore_ruby/event_filter.rb,
lib/eventstore_ruby/event_stream.rb,
lib/eventstore_ruby/query_result.rb,
lib/eventstore_ruby/postgres/query.rb,
lib/eventstore_ruby/postgres/insert.rb,
lib/eventstore_ruby/postgres/schema.rb,
lib/eventstore_ruby/query_processor.rb,
lib/eventstore_ruby/event_subscription.rb,
lib/eventstore_ruby/memory_event_store.rb,
lib/eventstore_ruby/postgres/transform.rb,
lib/eventstore_ruby/postgres_event_store.rb,
lib/eventstore_ruby/read_write_lock_fifo.rb,
lib/eventstore_ruby/memory_event_stream_notifier.rb

Defined Under Namespace

Modules: Postgres, QueryProcessor Classes: Event, EventFilter, EventQuery, EventRecord, EventStream, EventSubscription, MemoryEventStore, MemoryEventStreamNotifier, PostgresEventStore, QueryResult, ReadWriteLockFIFO

Constant Summary collapse

VERSION =
'0.1.1'

Class Method Summary collapse

Class Method Details

.create_filter(event_types, payload_predicates = nil) ⇒ Object

Factory/helper for building EventFilter objects conveniently. Usage: EventStoreRuby.create_filter(%w, [{ ‘user_id’ => 42 }])



4
5
6
# File 'lib/eventstore_ruby/filter.rb', line 4

def create_filter(event_types, payload_predicates = nil)
  EventFilter.new(event_types: event_types, payload_predicates: payload_predicates)
end

.create_query(filters) ⇒ Object

Build an EventQuery combining multiple EventFilter objects with OR semantics. Example:

f1 = create_filter(['UserCreated'])
f2 = create_filter(['OrderPlaced'])
query = create_query([f1, f2])


15
16
17
# File 'lib/eventstore_ruby/filter.rb', line 15

def create_query(filters)
  EventQuery.new(filters: filters)
end