simple_messenger 0.0.2 → 0.0.3

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: d03271126de37de605426a31de7fe08efaa5248f
4
- data.tar.gz: e012d77158181055a5236d712f47889a0674280e
3
+ metadata.gz: 14b5d7795642e1ed8145b522eefa80f09b683198
4
+ data.tar.gz: d9235ee964e234107d3137b828a3a9684451898f
5
5
  SHA512:
6
- metadata.gz: 72593e79e848e4e9ed74c701d0dc65db56283d62bb6b2d0df6a079525b11227eacb56435f0bb27ba84e14e0068fea8dde6f2f813fff0accfd81e59dafce8f64a
7
- data.tar.gz: c4bd158a0e84f8d7d93e0e2320887a46192300645f2315ff57fc80b7cbc301cd6076fe6758acbbf0e6e6a0434ff795538c33a26d1d10e7baaec0c3654e576b2c
6
+ metadata.gz: b56d708e7b163f2fe38da2f89edea0ed4b3f475cbb1fbb07ec7f7e7e481ad7ea3bffc59ba39cf6295d187466ce179e1784a004ddda7b71185108272817b893e1
7
+ data.tar.gz: 8adddfa0921f6c1bbfa471fe42fa0f232bd52f3d25548fa6ebd6e372aba349299d66e2113a25a1c5dc8ebcca052949c5e849432a695eb58d50c317ee05d91e87
data/.travis.yml ADDED
@@ -0,0 +1,3 @@
1
+ language: ruby
2
+ rvm:
3
+ - "2.0.0"
data/CHANGELOG.md CHANGED
@@ -1,3 +1,8 @@
1
+ ## v0.0.3
2
+
3
+ * New methods 'received_messages_from(model) and sent_messages_to(model) added
4
+ to messenger.
5
+
1
6
  ## v0.0.2
2
7
 
3
8
  * bugs
data/README.md CHANGED
@@ -78,6 +78,12 @@ bob.messages.count
78
78
  bob.sent_messages.count
79
79
  # => 1
80
80
 
81
+ bob.sent_messages_to(alice).count
82
+ # => 1
83
+
84
+ bob.sent_messages_to(jimmy).count
85
+ # => 0
86
+
81
87
  bob.received_messages.count
82
88
  # => 0
83
89
 
@@ -96,6 +102,12 @@ alice.sent_messages.count
96
102
  alice.received_messages.count
97
103
  # => 1
98
104
 
105
+ alice.received_messages_from(bob).count
106
+ # => 1
107
+
108
+ alice.received_messages_from(jimmy).count
109
+ # => 0
110
+
99
111
  alice.new_messages.count
100
112
  # => 1
101
113
 
@@ -33,6 +33,14 @@ module SimpleMessenger
33
33
  Message.between([self, other_messenger])
34
34
  end
35
35
 
36
+ def received_messages_from(messenger)
37
+ self.messages_with(messenger).where(receiver: self)
38
+ end
39
+
40
+ def sent_messages_to(messenger)
41
+ self.messages_with(messenger).where(sender: self)
42
+ end
43
+
36
44
  # Build helper instead of typing User.sent_messages.build
37
45
  def build_message(*args)
38
46
  sent_messages.build(*args)
@@ -1,3 +1,3 @@
1
1
  module SimpleMessenger
2
- VERSION = "0.0.2"
2
+ VERSION = "0.0.3"
3
3
  end
@@ -73,6 +73,60 @@ describe SimpleMessenger::MessengerAdditions do
73
73
  @user1.messages_with(@user2).count.should eql 2
74
74
  end
75
75
 
76
+ it "should give all the messages received with another model" do
77
+ @user1.received_messages_from(@user2).count.should eql 0
78
+
79
+ Message.create!(sender: @user1, receiver: @user2, content: 'Hello')
80
+ @user1.received_messages_from(@user2).count.should eql 0
81
+
82
+ Message.create!(msg(@user1)) # Different user
83
+ @user1.received_messages_from(@user2).count.should eql 0
84
+
85
+ Message.create!(msg(@user1, true)) # Different user
86
+ @user1.received_messages_from(@user2).count.should eql 0
87
+ end
88
+
89
+ it "should give all the messages sent with another model" do
90
+ @user1.sent_messages_to(@user2).count.should eql 1
91
+
92
+ Message.create!(sender: @user1, receiver: @user2, content: 'Hello')
93
+ @user1.sent_messages_to(@user2).count.should eql 2
94
+
95
+ Message.create!(msg(@user1)) # Different user
96
+ @user1.sent_messages_to(@user2).count.should eql 2
97
+
98
+ Message.create!(msg(@user1, true)) # Different user
99
+ @user1.sent_messages_to(@user2).count.should eql 2
100
+ end
101
+
102
+ context "for @user2" do
103
+ it "should give all the messages received with another model" do
104
+ @user2.received_messages_from(@user1).count.should eql 1
105
+
106
+ Message.create!(sender: @user1, receiver: @user2, content: 'Hello')
107
+ @user2.received_messages_from(@user2).count.should eql 2
108
+
109
+ Message.create!(msg(@user1)) # Different user
110
+ @user2.received_messages_from(@user2).count.should eql 2
111
+
112
+ Message.create!(msg(@user1, true)) # Different user
113
+ @user2.received_messages_from(@user2).count.should eql 2
114
+ end
115
+
116
+ it "should give all the messages sent with another model" do
117
+ @user2.sent_messages_to(@user1).count.should eql 0
118
+
119
+ Message.create!(sender: @user1, receiver: @user2, content: 'Hello')
120
+ @user2.sent_messages_to(@user1).count.should eql 0
121
+
122
+ Message.create!(msg(@user2)) # Different user
123
+ @user2.sent_messages_to(@user1).count.should eql 0
124
+
125
+ Message.create!(msg(@user2, true)) # Different user
126
+ @user2.sent_messages_to(@user1).count.should eql 0
127
+ end
128
+ end
129
+
76
130
  context "build helpers" do
77
131
  specify { expect(@user1.build_message).to be_kind_of(Message) }
78
132
  specify { expect(@user1.build_message.new_record?).to be_true }
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: simple_messenger
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.2
4
+ version: 0.0.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Kainage
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2013-05-30 00:00:00.000000000 Z
11
+ date: 2013-06-01 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activerecord
@@ -103,6 +103,7 @@ extra_rdoc_files: []
103
103
  files:
104
104
  - .gitignore
105
105
  - .rspec
106
+ - .travis.yml
106
107
  - CHANGELOG.md
107
108
  - Gemfile
108
109
  - LICENSE.txt