Class: EventSource::EventRepository
- Inherits:
-
Object
- Object
- EventSource::EventRepository
show all
- Extended by:
- MemoizeInstance
- Defined in:
- lib/event_source/event_repository.rb
Instance Attribute Summary collapse
Instance Method Summary
collapse
create, current, default_args
Constructor Details
9
10
11
12
13
14
|
# File 'lib/event_source/event_repository.rb', line 9
def initialize(options)
if options[:in_memory]
@db = Sequel.sqlite
init_in_memory_schema
end
end
|
Instance Attribute Details
#db ⇒ Object
Returns the value of attribute db.
7
8
9
|
# File 'lib/event_source/event_repository.rb', line 7
def db
@db
end
|
Instance Method Details
#get_events(type, uid) ⇒ Object
26
27
28
29
|
# File 'lib/event_source/event_repository.rb', line 26
def get_events(type, uid)
data = @db[:events].where(entity_type: type.to_s, entity_id: uid).order(:created_at)
data.map {|d| create_event(d)}
end
|
#save(event) ⇒ Object
16
17
18
19
20
21
22
23
24
|
# File 'lib/event_source/event_repository.rb', line 16
def save(event)
count = @db[:events].exclude_where(entity_type: event.entity_type).
where(entity_id: event.entity_id).count
raise InvalidEntityID if count > 0
@db[:events].insert(name: event.name, entity_type: event.entity_type,
entity_id: event.entity_id, data: event.data,
created_at: event.created_at)
end
|