summaryrefslogtreecommitdiff
path: root/app/models
diff options
context:
space:
mode:
authormo khan <mo@mokhan.ca>2015-02-21 22:12:49 -0700
committermo khan <mo@mokhan.ca>2015-02-21 22:12:49 -0700
commit7cd78597d794efcf79090377bbc1909a1d6d3ad9 (patch)
treef4f55eb33be3912030c505198e67b1cba9ba2473 /app/models
parentfeaf5cfae0f948ceebae4d1ff2c80d84cd76cae0 (diff)
parent05b427bd4d9f9c4ea60f9485f06d68de0b689d28 (diff)
merge with master
Diffstat (limited to 'app/models')
-rw-r--r--app/models/agent.rb2
-rw-r--r--app/models/event.rb2
-rw-r--r--app/models/event_message.rb25
-rw-r--r--app/models/poke_message.rb23
-rw-r--r--app/models/scanned.rb2
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