class FrpEventsourcing::Init
Public Class Methods
new(source, blk)
click to toggle source
# File lib/frp-eventsourcing/stream/init.rb, line 3 def initialize(source, blk) @resource_type = source.resource_type @unique_resource_identifier = source.unique_resource_identifier @block = blk source.add_observer(self) end
Public Instance Methods
update(event)
click to toggle source
# File lib/frp-eventsourcing/stream/init.rb, line 10 def update(event) check_resource_type_presence entity_id_hash = extract_entity_id(event) if !@resource_type.where(entity_id_hash).exists? resource = @resource_type.new(event[:data]) @block.call(resource) resource.save! end occur(event) end