simple_messenger 0.0.1 → 0.0.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.
- checksums.yaml +4 -4
- data/.gitignore +1 -0
- data/CHANGELOG.md +8 -0
- data/lib/simple_messenger/message_additions.rb +8 -8
- data/lib/simple_messenger/version.rb +1 -1
- data/spec/message_spec.rb +2 -2
- metadata +2 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: d03271126de37de605426a31de7fe08efaa5248f
|
4
|
+
data.tar.gz: e012d77158181055a5236d712f47889a0674280e
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 72593e79e848e4e9ed74c701d0dc65db56283d62bb6b2d0df6a079525b11227eacb56435f0bb27ba84e14e0068fea8dde6f2f813fff0accfd81e59dafce8f64a
|
7
|
+
data.tar.gz: c4bd158a0e84f8d7d93e0e2320887a46192300645f2315ff57fc80b7cbc301cd6076fe6758acbbf0e6e6a0434ff795538c33a26d1d10e7baaec0c3654e576b2c
|
data/.gitignore
CHANGED
data/CHANGELOG.md
ADDED
@@ -11,12 +11,12 @@ module SimpleMessenger
|
|
11
11
|
# Using ARel find all the messages where the model is sender or receiver.
|
12
12
|
feature_model.scope :all_for, ->(model) {
|
13
13
|
feature_model.where(
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
14
|
+
((feature_model.arel_table[:sender_id].eq model.id).
|
15
|
+
and(feature_model.arel_table[:sender_type].eq model.class.to_s)).
|
16
|
+
or((feature_model.arel_table[:receiver_id].eq model.id).
|
17
|
+
and(feature_model.arel_table[:receiver_type].eq model.class.to_s))
|
18
|
+
)
|
19
|
+
}
|
20
20
|
|
21
21
|
# Find a conversations between 2 models by joining all_for on both.
|
22
22
|
feature_model.scope :between, ->(models) {
|
@@ -24,7 +24,7 @@ module SimpleMessenger
|
|
24
24
|
}
|
25
25
|
|
26
26
|
feature_model.validates_presence_of :sender_id, :sender_type,
|
27
|
-
|
27
|
+
:receiver_id, :receiver_type
|
28
28
|
|
29
29
|
# When given an array of messages, this will return a list of all the ids of the
|
30
30
|
# models that have interacted together. Useful for creating a list of objects
|
@@ -50,7 +50,7 @@ module SimpleMessenger
|
|
50
50
|
# in a conversation. Without the check for the user being the recipient,
|
51
51
|
# the messages that she sent would return true.
|
52
52
|
def read?(obj)
|
53
|
-
obj
|
53
|
+
obj != receiver || viewed?
|
54
54
|
end
|
55
55
|
|
56
56
|
# This will return the other member in the communication then the one
|
data/spec/message_spec.rb
CHANGED
@@ -91,12 +91,12 @@ describe Message do
|
|
91
91
|
end
|
92
92
|
|
93
93
|
context "instance methods" do
|
94
|
-
specify { @message.read?(@user1).should
|
94
|
+
specify { @message.read?(@user1).should be_true } # Message is sent by @user1
|
95
95
|
specify { @message.read?(@user2).should be_false }
|
96
96
|
|
97
97
|
it "should act as viewed when applicable" do
|
98
98
|
@message.viewed = true
|
99
|
-
@message.read?(@user1).should
|
99
|
+
@message.read?(@user1).should be_true
|
100
100
|
@message.read?(@user2).should be_true
|
101
101
|
end
|
102
102
|
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: simple_messenger
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Kainage
|
@@ -103,6 +103,7 @@ extra_rdoc_files: []
|
|
103
103
|
files:
|
104
104
|
- .gitignore
|
105
105
|
- .rspec
|
106
|
+
- CHANGELOG.md
|
106
107
|
- Gemfile
|
107
108
|
- LICENSE.txt
|
108
109
|
- README.md
|