diff options
| author | mo khan <mo@mokhan.ca> | 2015-02-09 20:25:22 -0700 |
|---|---|---|
| committer | mo khan <mo@mokhan.ca> | 2015-02-09 20:25:22 -0700 |
| commit | 34f53efff788b7558f63d973aad1f3475c27c125 (patch) | |
| tree | f867a5243b5b1ef15ed16952abc3a43f91226ded /app/models | |
| parent | 64dd29d70ddda6f4927e9352e3e90c4f87b5041a (diff) | |
extract message objects to publish.
Diffstat (limited to 'app/models')
| -rw-r--r-- | app/models/event_message.rb | 25 | ||||
| -rw-r--r-- | app/models/poke_message.rb | 23 |
2 files changed, 48 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 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 |
