From 34f53efff788b7558f63d973aad1f3475c27c125 Mon Sep 17 00:00:00 2001 From: mo khan Date: Mon, 9 Feb 2015 20:25:22 -0700 Subject: extract message objects to publish. --- app/models/event_message.rb | 25 +++++++++++++++++++++++++ app/models/poke_message.rb | 23 +++++++++++++++++++++++ 2 files changed, 48 insertions(+) create mode 100644 app/models/event_message.rb create mode 100644 app/models/poke_message.rb (limited to 'app/models') 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 diff --git a/app/models/poke_message.rb b/app/models/poke_message.rb new file mode 100644 index 0000000..b134ba9 --- /dev/null +++ b/app/models/poke_message.rb @@ -0,0 +1,23 @@ +class PokeMessage + attr_reader :fingerprint, :state + + def initialize(fingerprint:, state: ) + @fingerprint = fingerprint + @state = state + end + + def routing_key + "commands.poke.#{fingerprint}" + end + + def to_hash + { + fingerprint: fingerprint, + state: state + } + end + + def to_json + to_hash.to_json + end +end -- cgit v1.2.3