Method: Akasha::Repository#load_aggregate

Defined in:
lib/akasha/repository.rb

#load_aggregate(klass, id) ⇒ Object

Loads an aggregate identified by id and klass from the repository. Returns an aggregate instance of class klass constructed by applying events from the corresponding stream.



22
23
24
25
26
27
28
29
30
31
32
# File 'lib/akasha/repository.rb', line 22

def load_aggregate(klass, id)
  agg = klass.new(id)

  start = 0
  page_size = 20
  stream(klass, id).read_events(start, page_size) do |events|
    agg.apply_events(events)
  end

  agg
end