activerecord-reputation-system 1.5.0 → 1.5.1

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.
@@ -25,7 +25,7 @@ module ReputationSystem
25
25
  attrs = reputation[:of] == :self ? self : self.instance_eval(of.to_s) if of.is_a?(String) || of.is_a?(Symbol)
26
26
  attrs = self.instance_exec(self, &of) if of.is_a?(Proc)
27
27
  attrs = [attrs] unless attrs.is_a? Array
28
- attrs
28
+ attrs.compact
29
29
  end
30
30
 
31
31
  def evaluate_reputation_scope(scope)
@@ -15,5 +15,5 @@
15
15
  ##
16
16
 
17
17
  module ReputationSystem
18
- VERSION = "1.5.0"
18
+ VERSION = "1.5.1"
19
19
  end
@@ -58,11 +58,6 @@ describe ActiveRecord::Base do
58
58
  it "should have declared default value if any" do
59
59
  @answer.reputation_for(:avg_rating).should == 1
60
60
  end
61
-
62
- it "should overwrite reputation definitions if the same reputation name is declared" do
63
- Answer.has_reputation(:avg_rating, :source => :user, :aggregated_by => :average, :init_value => 2)
64
- Answer.new.reputation_for(:avg_rating).should == 2
65
- end
66
61
  end
67
62
  end
68
63
  end
@@ -63,11 +63,11 @@ describe ActiveRecord::Base do
63
63
  end
64
64
 
65
65
  it "should raise exception if invalid scope is given" do
66
- lambda{@phrase.add_evaluation(:difficulty_with_scope, 1, :invalid_scope)}.should raise_error(ArgumentError)
66
+ lambda { @phrase.add_evaluation(:difficulty_with_scope, 1, :invalid_scope) }.should raise_error(ArgumentError)
67
67
  end
68
68
 
69
69
  it "should raise exception if scope is not given" do
70
- lambda{@phrase.add_evaluation(:difficulty_with_scope, 1)}.should raise_error(ArgumentError)
70
+ lambda { @phrase.add_evaluation(:difficulty_with_scope, 1) }.should raise_error(ArgumentError)
71
71
  end
72
72
  end
73
73
  end
@@ -79,17 +79,22 @@ describe ActiveRecord::Base do
79
79
  end
80
80
 
81
81
  it "should raise exception if invalid reputation name is given" do
82
- lambda {@question.add_evaluation(:invalid, 1, @user)}.should raise_error(ArgumentError)
82
+ lambda { @question.add_evaluation(:invalid, 1, @user) }.should raise_error(ArgumentError)
83
83
  end
84
84
 
85
85
  it "should raise exception if the same source evaluates for the same target more than once" do
86
86
  @question.add_evaluation(:total_votes, 1, @user)
87
- lambda{@question.add_evaluation(:total_votes, 1, @user)}.should raise_error
87
+ lambda { @question.add_evaluation(:total_votes, 1, @user) }.should raise_error
88
88
  end
89
89
 
90
90
  it "should not allow the same source to add an evaluation for the same target" do
91
91
  @question.add_evaluation(:total_votes, 1, @user)
92
- lambda{@question.add_evaluation(:total_votes, 1, @user)}.should raise_error
92
+ lambda { @question.add_evaluation(:total_votes, 1, @user) }.should raise_error
93
+ end
94
+
95
+ it "should not raise exception if some association has not been initialized along during the propagation of reputation" do
96
+ answer = Answer.create!
97
+ lambda { answer.add_evaluation(:avg_rating, 3, @user) }.should_not raise_error
93
98
  end
94
99
 
95
100
  context "With Scopes" do
@@ -102,11 +107,11 @@ describe ActiveRecord::Base do
102
107
  end
103
108
 
104
109
  it "should raise exception if invalid scope is given" do
105
- lambda{@phrase.add_evaluation(:difficulty_with_scope, 1, :invalid_scope)}.should raise_error(ArgumentError)
110
+ lambda { @phrase.add_evaluation(:difficulty_with_scope, 1, :invalid_scope) }.should raise_error(ArgumentError)
106
111
  end
107
112
 
108
113
  it "should raise exception if scope is not given" do
109
- lambda{@phrase.add_evaluation(:difficulty_with_scope, 1)}.should raise_error(ArgumentError)
114
+ lambda { @phrase.add_evaluation(:difficulty_with_scope, 1) }.should raise_error(ArgumentError)
110
115
  end
111
116
  end
112
117
  end
@@ -155,15 +160,15 @@ describe ActiveRecord::Base do
155
160
  end
156
161
 
157
162
  it "should raise exception if invalid reputation name is given" do
158
- lambda {@question.update_evaluation(:invalid, 1, @user)}.should raise_error(ArgumentError)
163
+ lambda { @question.update_evaluation(:invalid, 1, @user) }.should raise_error(ArgumentError)
159
164
  end
160
165
 
161
166
  it "should raise exception if invalid source is given" do
162
- lambda {@question.update_evaluation(:total_votes, 1, @answer)}.should raise_error(ArgumentError)
167
+ lambda { @question.update_evaluation(:total_votes, 1, @answer) }.should raise_error(ArgumentError)
163
168
  end
164
169
 
165
170
  it "should raise exception if evaluation does not exist" do
166
- lambda{@answer.update_evaluation(:avg_rating, 1, @user)}.should raise_error
171
+ lambda { @answer.update_evaluation(:avg_rating, 1, @user) }.should raise_error
167
172
  end
168
173
 
169
174
  context "With Scopes" do
@@ -179,11 +184,11 @@ describe ActiveRecord::Base do
179
184
  end
180
185
 
181
186
  it "should raise exception if invalid scope is given" do
182
- lambda{@phrase.update_evaluation(:difficulty_with_scope, 5, @user, :invalid_scope)}.should raise_error(ArgumentError)
187
+ lambda { @phrase.update_evaluation(:difficulty_with_scope, 5, @user, :invalid_scope) }.should raise_error(ArgumentError)
183
188
  end
184
189
 
185
190
  it "should raise exception if scope is not given" do
186
- lambda{@phrase.update_evaluation(:difficulty_with_scope, 5, @user)}.should raise_error(ArgumentError)
191
+ lambda { @phrase.update_evaluation(:difficulty_with_scope, 5, @user) }.should raise_error(ArgumentError)
187
192
  end
188
193
  end
189
194
  end
@@ -199,15 +204,15 @@ describe ActiveRecord::Base do
199
204
  end
200
205
 
201
206
  it "should raise exception if invalid reputation name is given" do
202
- lambda {@question.delete_evaluation!(:invalid, @user)}.should raise_error(ArgumentError)
207
+ lambda { @question.delete_evaluation!(:invalid, @user) }.should raise_error(ArgumentError)
203
208
  end
204
209
 
205
210
  it "should raise exception if invalid source is given" do
206
- lambda {@question.delete_evaluation!(:total_votes, @answer)}.should raise_error(ArgumentError)
211
+ lambda { @question.delete_evaluation!(:total_votes, @answer) }.should raise_error(ArgumentError)
207
212
  end
208
213
 
209
214
  it "should raise exception if evaluation does not exist" do
210
- lambda{@answer.delete_evaluation!(:avg_rating, @user)}.should raise_error
215
+ lambda { @answer.delete_evaluation!(:avg_rating, @user) }.should raise_error
211
216
  end
212
217
 
213
218
  context "With Scopes" do
@@ -223,11 +228,11 @@ describe ActiveRecord::Base do
223
228
  end
224
229
 
225
230
  it "should raise exception if invalid scope is given" do
226
- lambda{@phrase.delete_evaluation!(:difficulty_with_scope, @user, :invalid_scope)}.should raise_error(ArgumentError)
231
+ lambda { @phrase.delete_evaluation!(:difficulty_with_scope, @user, :invalid_scope) }.should raise_error(ArgumentError)
227
232
  end
228
233
 
229
234
  it "should raise exception if scope is not given" do
230
- lambda{@phrase.delete_evaluation!(:difficulty_with_scope, @user)}.should raise_error(ArgumentError)
235
+ lambda { @phrase.delete_evaluation!(:difficulty_with_scope, @user) }.should raise_error(ArgumentError)
231
236
  end
232
237
  end
233
238
  end
@@ -243,7 +248,7 @@ describe ActiveRecord::Base do
243
248
  end
244
249
 
245
250
  it "should raise exception if invalid reputation name is given" do
246
- lambda {@question.delete_evaluation(:invalid, @user)}.should raise_error(ArgumentError)
251
+ lambda { @question.delete_evaluation(:invalid, @user) }.should raise_error(ArgumentError)
247
252
  end
248
253
 
249
254
  it "should return nil if evaluation does not exist" do
@@ -263,11 +268,11 @@ describe ActiveRecord::Base do
263
268
  end
264
269
 
265
270
  it "should raise exception if invalid scope is given" do
266
- lambda{@phrase.delete_evaluation(:difficulty_with_scope, @user, :invalid_scope)}.should raise_error(ArgumentError)
271
+ lambda { @phrase.delete_evaluation(:difficulty_with_scope, @user, :invalid_scope) }.should raise_error(ArgumentError)
267
272
  end
268
273
 
269
274
  it "should raise exception if scope is not given" do
270
- lambda{@phrase.delete_evaluation(:difficulty_with_scope, @user)}.should raise_error(ArgumentError)
275
+ lambda { @phrase.delete_evaluation(:difficulty_with_scope, @user) }.should raise_error(ArgumentError)
271
276
  end
272
277
  end
273
278
  end
metadata CHANGED
@@ -1,13 +1,8 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: activerecord-reputation-system
3
3
  version: !ruby/object:Gem::Version
4
- hash: 3
5
4
  prerelease:
6
- segments:
7
- - 1
8
- - 5
9
- - 0
10
- version: 1.5.0
5
+ version: 1.5.1
11
6
  platform: ruby
12
7
  authors:
13
8
  - Katsuya Noguchi
@@ -15,98 +10,73 @@ autorequire:
15
10
  bindir: bin
16
11
  cert_chain: []
17
12
 
18
- date: 2012-09-15 00:00:00 Z
13
+ date: 2012-10-04 00:00:00 Z
19
14
  dependencies:
20
15
  - !ruby/object:Gem::Dependency
16
+ name: activerecord
21
17
  prerelease: false
22
18
  requirement: &id001 !ruby/object:Gem::Requirement
23
19
  none: false
24
20
  requirements:
25
21
  - - ">="
26
22
  - !ruby/object:Gem::Version
27
- hash: 3
28
- segments:
29
- - 0
30
23
  version: "0"
31
24
  type: :development
32
- name: activerecord
33
25
  version_requirements: *id001
34
26
  - !ruby/object:Gem::Dependency
27
+ name: rake
35
28
  prerelease: false
36
29
  requirement: &id002 !ruby/object:Gem::Requirement
37
30
  none: false
38
31
  requirements:
39
32
  - - ">="
40
33
  - !ruby/object:Gem::Version
41
- hash: 49
42
- segments:
43
- - 0
44
- - 8
45
- - 7
46
34
  version: 0.8.7
47
35
  type: :development
48
- name: rake
49
36
  version_requirements: *id002
50
37
  - !ruby/object:Gem::Dependency
38
+ name: rspec
51
39
  prerelease: false
52
40
  requirement: &id003 !ruby/object:Gem::Requirement
53
41
  none: false
54
42
  requirements:
55
43
  - - ~>
56
44
  - !ruby/object:Gem::Version
57
- hash: 19
58
- segments:
59
- - 2
60
- - 8
61
45
  version: "2.8"
62
46
  type: :development
63
- name: rspec
64
47
  version_requirements: *id003
65
48
  - !ruby/object:Gem::Dependency
49
+ name: rdoc
66
50
  prerelease: false
67
51
  requirement: &id004 !ruby/object:Gem::Requirement
68
52
  none: false
69
53
  requirements:
70
54
  - - ">="
71
55
  - !ruby/object:Gem::Version
72
- hash: 3
73
- segments:
74
- - 0
75
56
  version: "0"
76
57
  type: :development
77
- name: rdoc
78
58
  version_requirements: *id004
79
59
  - !ruby/object:Gem::Dependency
60
+ name: database_cleaner
80
61
  prerelease: false
81
62
  requirement: &id005 !ruby/object:Gem::Requirement
82
63
  none: false
83
64
  requirements:
84
65
  - - ~>
85
66
  - !ruby/object:Gem::Version
86
- hash: 1
87
- segments:
88
- - 0
89
- - 7
90
- - 1
91
67
  version: 0.7.1
92
68
  type: :development
93
- name: database_cleaner
94
69
  version_requirements: *id005
95
70
  - !ruby/object:Gem::Dependency
71
+ name: sqlite3
96
72
  prerelease: false
97
73
  requirement: &id006 !ruby/object:Gem::Requirement
98
74
  none: false
99
75
  requirements:
100
76
  - - ~>
101
77
  - !ruby/object:Gem::Version
102
- hash: 17
103
- segments:
104
- - 1
105
- - 3
106
- - 5
107
78
  version: 1.3.5
108
79
  type: :development
109
- name: sqlite3
110
80
  version_requirements: *id006
111
81
  description: ActiveRecord Reputation System gem allows rails apps to compute and publish reputation scores for active record models.
112
82
  email:
@@ -165,23 +135,17 @@ required_ruby_version: !ruby/object:Gem::Requirement
165
135
  requirements:
166
136
  - - ">="
167
137
  - !ruby/object:Gem::Version
168
- hash: 3
169
- segments:
170
- - 0
171
138
  version: "0"
172
139
  required_rubygems_version: !ruby/object:Gem::Requirement
173
140
  none: false
174
141
  requirements:
175
142
  - - ">="
176
143
  - !ruby/object:Gem::Version
177
- hash: 3
178
- segments:
179
- - 0
180
144
  version: "0"
181
145
  requirements: []
182
146
 
183
147
  rubyforge_project:
184
- rubygems_version: 1.8.24
148
+ rubygems_version: 1.8.10
185
149
  signing_key:
186
150
  specification_version: 3
187
151
  summary: ActiveRecord Reputation System gem allows rails apps to compute and publish reputation scores for active record models