summaryrefslogtreecommitdiff
path: root/app/models/event_message.rb
blob: 75bd9acebf3fbdff0cdda360274aded4da1fc0be (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
class EventMessage
  attr_reader :agent_id, :event_type, :data

  def initialize(agent_id:, event_type:, data: {})
    @agent_id = agent_id
    @event_type = event_type
    @data = data
  end

  def routing_key
    "events.#{event_type}.#{agent_id}"
  end

  def to_hash
    {
      agent_id: agent_id,
      type: event_type,
      data: data
    }
  end

  def to_json
    to_hash.to_json
  end
end