communicator 0.2.1 → 0.2.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/lib/communicator/inbound_message.rb +11 -2
- data/lib/communicator/version.rb +1 -1
- data/test/test_client.rb +4 -0
- metadata +3 -3
@@ -57,7 +57,16 @@ class Communicator::InboundMessage < ActiveRecord::Base
|
|
57
57
|
return false
|
58
58
|
end
|
59
59
|
source, content = message_content.first
|
60
|
-
|
60
|
+
|
61
|
+
# We have to distinguish here between inbound messages that have an id and those that
|
62
|
+
# don't since some databases (at least Postgres) will raise an error when the ID is set to nil on
|
63
|
+
# the ActiveRecord instance because AR includes the id column and it's "NULL" value in the
|
64
|
+
# INSERT statement
|
65
|
+
if content["id"]
|
66
|
+
Communicator.receiver_for(source).find_or_initialize_by_id(content["id"]).process_message(content)
|
67
|
+
else
|
68
|
+
Communicator.receiver_for(source).new.process_message(content)
|
69
|
+
end
|
61
70
|
self.processed_at = Time.now
|
62
71
|
self.save!
|
63
72
|
Communicator.logger.info "Processed inbound message ##{id} successfully"
|
@@ -73,4 +82,4 @@ class Communicator::InboundMessage < ActiveRecord::Base
|
|
73
82
|
|
74
83
|
raise err
|
75
84
|
end
|
76
|
-
end
|
85
|
+
end
|
data/lib/communicator/version.rb
CHANGED
data/test/test_client.rb
CHANGED
@@ -133,6 +133,10 @@ class TestClient < Test::Unit::TestCase
|
|
133
133
|
assert_nil Communicator::OutboundMessage.last.message_content["post"]["id"]
|
134
134
|
end
|
135
135
|
|
136
|
+
should "not have created the Post locally" do
|
137
|
+
assert @post.new_record?
|
138
|
+
end
|
139
|
+
|
136
140
|
context "after PUSH" do
|
137
141
|
setup do
|
138
142
|
Communicator::Client.push
|
metadata
CHANGED
@@ -1,13 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: communicator
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
hash:
|
4
|
+
hash: 19
|
5
5
|
prerelease:
|
6
6
|
segments:
|
7
7
|
- 0
|
8
8
|
- 2
|
9
|
-
-
|
10
|
-
version: 0.2.
|
9
|
+
- 2
|
10
|
+
version: 0.2.2
|
11
11
|
platform: ruby
|
12
12
|
authors:
|
13
13
|
- Christoph Olszowka
|