simple_messenger 0.0.1 → 0.0.2
Sign up to get free protection for your applications and to get access to all the features.
- 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
|