Class: RailsEventStore::Event

Inherits:
Object
  • Object
show all
Defined in:
lib/rails_event_store/event.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(event_data) ⇒ Event

Returns a new instance of Event.



6
7
8
9
10
11
# File 'lib/rails_event_store/event.rb', line 6

def initialize(event_data)
  @event_type = event_data.fetch(:event_type, event_name)
  @event_id = event_data.fetch(:event_id, generate_id).to_s
  @metadata = event_data.fetch(:metadata, nil)
  @data = event_data.fetch(:data, nil)
end

Instance Attribute Details

#dataObject (readonly)

Returns the value of attribute data.



13
14
15
# File 'lib/rails_event_store/event.rb', line 13

def data
  @data
end

#event_idObject (readonly)

Returns the value of attribute event_id.



13
14
15
# File 'lib/rails_event_store/event.rb', line 13

def event_id
  @event_id
end

#event_typeObject (readonly)

Returns the value of attribute event_type.



13
14
15
# File 'lib/rails_event_store/event.rb', line 13

def event_type
  @event_type
end

#metadataObject (readonly)

Returns the value of attribute metadata.



13
14
15
# File 'lib/rails_event_store/event.rb', line 13

def 
  @metadata
end

Instance Method Details

#to_hObject



21
22
23
24
25
26
27
28
# File 'lib/rails_event_store/event.rb', line 21

def to_h
  {
      event_type: event_type,
      event_id: event_id,
      metadata: ,
      data: data
  }
end

#validate!Object



15
16
17
18
19
# File 'lib/rails_event_store/event.rb', line 15

def validate!
  [event_type, event_id, data].each do |attribute|
    raise IncorrectStreamData if is_invalid?(attribute)
  end
end