diff options
Diffstat (limited to 'app/models')
| -rw-r--r-- | app/models/agent.rb | 2 | ||||
| -rw-r--r-- | app/models/event.rb | 2 | ||||
| -rw-r--r-- | app/models/event_message.rb | 25 | ||||
| -rw-r--r-- | app/models/poke_message.rb | 23 | ||||
| -rw-r--r-- | app/models/scanned.rb | 2 |
5 files changed, 52 insertions, 2 deletions
diff --git a/app/models/agent.rb b/app/models/agent.rb index e5832da..d33a970 100644 --- a/app/models/agent.rb +++ b/app/models/agent.rb @@ -1,3 +1,3 @@ class Agent < ActiveRecord::Base - has_many :events + has_many :events, dependent: :destroy end diff --git a/app/models/event.rb b/app/models/event.rb index 8124b3f..0377c25 100644 --- a/app/models/event.rb +++ b/app/models/event.rb @@ -1,4 +1,4 @@ class Event < ActiveRecord::Base belongs_to :agent - has_secure_password + validates_presence_of :agent end diff --git a/app/models/event_message.rb b/app/models/event_message.rb new file mode 100644 index 0000000..75bd9ac --- /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, + 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 diff --git a/app/models/scanned.rb b/app/models/scanned.rb new file mode 100644 index 0000000..cfe1b87 --- /dev/null +++ b/app/models/scanned.rb @@ -0,0 +1,2 @@ +class Scanned < Event +end |
