summaryrefslogtreecommitdiff
path: root/app/models/event_message.rb
diff options
context:
space:
mode:
authormo khan <mo@mokhan.ca>2015-02-09 20:25:22 -0700
committermo khan <mo@mokhan.ca>2015-02-09 20:25:22 -0700
commit34f53efff788b7558f63d973aad1f3475c27c125 (patch)
treef867a5243b5b1ef15ed16952abc3a43f91226ded /app/models/event_message.rb
parent64dd29d70ddda6f4927e9352e3e90c4f87b5041a (diff)
extract message objects to publish.
Diffstat (limited to 'app/models/event_message.rb')
-rw-r--r--app/models/event_message.rb25
1 files changed, 25 insertions, 0 deletions
diff --git a/app/models/event_message.rb b/app/models/event_message.rb
new file mode 100644
index 0000000..0a0c9ae
--- /dev/null
+++ b/app/models/event_message.rb
@@ -0,0 +1,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,
+ event_type: event_type,
+ data: data
+ }
+ end
+
+ def to_json
+ to_hash.to_json
+ end
+end