Module: Eventus::AggregateRoot::ClassMethods
- Defined in:
- lib/eventus/aggregate_root.rb
Instance Method Summary collapse
- #conflict?(e1, e2) ⇒ Boolean
- #conflicts(added = {}) ⇒ Object
- #find(id) ⇒ Object
- #persistence ⇒ Object
Instance Method Details
#conflict?(e1, e2) ⇒ Boolean
22 23 24 25 26 27 |
# File 'lib/eventus/aggregate_root.rb', line 22 def conflict?(e1, e2) return false unless @event_conflicts s1 = e1.to_s s2 = e2.to_s @event_conflicts.fetch(s1,[]).include?(s2) || @event_conflicts.fetch(s2,[]).include?(s1) end |
#conflicts(added = {}) ⇒ Object
15 16 17 18 19 20 |
# File 'lib/eventus/aggregate_root.rb', line 15 def conflicts(added = {}) @event_conflicts ||= {} added.each do |k,v| @event_conflicts[k.to_s] = v.respond_to?(:map) ? v.map{|e| e.to_s} : [v.to_s] end end |
#find(id) ⇒ Object
4 5 6 7 8 9 |
# File 'lib/eventus/aggregate_root.rb', line 4 def find(id) instance = self.new stream = Eventus::Stream.new(id, persistence, Eventus.dispatcher) instance.populate(stream) instance end |
#persistence ⇒ Object
11 12 13 |
# File 'lib/eventus/aggregate_root.rb', line 11 def persistence @persistence ||= Eventus.persistence end |