voteable_mongoid 0.3.4 → 0.3.5

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.
Files changed (2) hide show
  1. data/lib/mongoid/voteable.rb +10 -10
  2. metadata +176 -19
@@ -41,7 +41,7 @@ module Mongoid
41
41
  voter_id = BSON::ObjectId(voter_id) if voter_id.is_a?(String)
42
42
 
43
43
  value = value.to_sym
44
- value_point = VOTE_POINT[name][name]
44
+ value_point = VOTE_POINT[self.name][self.name]
45
45
 
46
46
  if options[:revote]
47
47
  if value == :up
@@ -86,12 +86,12 @@ module Mongoid
86
86
  })
87
87
  end
88
88
 
89
- VOTE_POINT[name].each do |class_name, value_point|
90
- next unless association = associations[class_name.underscore]
91
- next unless foreign_key = options[association.options[:foreign_key].to_sym]
92
- foreign_key = BSON::ObjectId(foreign_key) if foreign_key.is_a?(String)
93
-
94
- class_name.constantize.collection.update({ :_id => foreign_key }, {
89
+ VOTE_POINT[self.name].each do |class_name, value_point|
90
+ next unless relation_metadata = relations[class_name.underscore]
91
+ next unless foreign_key_value = options[relation_metadata.foreign_key.to_sym]
92
+ foreign_key_value = BSON::ObjectId(foreign_key_value) if foreign_key_value.is_a?(String)
93
+
94
+ class_name.constantize.collection.update({ :_id => foreign_key_value }, {
95
95
  '$inc' => options[:revote] ? {
96
96
  :votes_point => ( value == :up ?
97
97
  value_point[:up] - value_point[:down] :
@@ -108,9 +108,9 @@ module Mongoid
108
108
 
109
109
  def vote(options)
110
110
  VOTE_POINT[self.class.name].each do |class_name, value_point|
111
- next unless association = self.class.associations[class_name.underscore]
112
- next unless foreign_key = association.options[:foreign_key]
113
- options[foreign_key] = read_attribute(foreign_key)
111
+ next unless relation_metadata = relations[class_name.underscore]
112
+ next unless foreign_key = relation_metadata.foreign_key
113
+ options[foreign_key.to_sym] = read_attribute(foreign_key)
114
114
  end
115
115
 
116
116
  options[:votee_id] ||= _id
metadata CHANGED
@@ -1,12 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: voteable_mongoid
3
3
  version: !ruby/object:Gem::Version
4
- prerelease: false
4
+ hash: 25
5
+ prerelease:
5
6
  segments:
6
7
  - 0
7
8
  - 3
8
- - 4
9
- version: 0.3.4
9
+ - 5
10
+ version: 0.3.5
10
11
  platform: ruby
11
12
  authors:
12
13
  - Alex Nguyen
@@ -14,54 +15,208 @@ autorequire:
14
15
  bindir: bin
15
16
  cert_chain: []
16
17
 
17
- date: 2010-10-06 00:00:00 +07:00
18
+ date: 2011-02-17 00:00:00 +08:00
18
19
  default_executable:
19
20
  dependencies:
20
21
  - !ruby/object:Gem::Dependency
21
- name: mongoid
22
+ name: voteable_mongoid
23
+ version_requirements: &id001 !ruby/object:Gem::Requirement
24
+ none: false
25
+ requirements:
26
+ - - ">="
27
+ - !ruby/object:Gem::Version
28
+ hash: 3
29
+ segments:
30
+ - 0
31
+ version: "0"
22
32
  prerelease: false
23
- requirement: &id001 !ruby/object:Gem::Requirement
33
+ type: :runtime
34
+ requirement: *id001
35
+ - !ruby/object:Gem::Dependency
36
+ name: bson_ext
37
+ version_requirements: &id002 !ruby/object:Gem::Requirement
24
38
  none: false
25
39
  requirements:
26
- - - ~>
40
+ - - ">="
27
41
  - !ruby/object:Gem::Version
42
+ hash: 3
28
43
  segments:
29
- - 2
30
44
  - 0
45
+ version: "0"
46
+ prerelease: false
47
+ type: :development
48
+ requirement: *id002
49
+ - !ruby/object:Gem::Dependency
50
+ name: rspec
51
+ version_requirements: &id003 !ruby/object:Gem::Requirement
52
+ none: false
53
+ requirements:
54
+ - - ">="
55
+ - !ruby/object:Gem::Version
56
+ hash: 3
57
+ segments:
31
58
  - 0
32
- - beta
33
- version: 2.0.0.beta
34
- type: :runtime
35
- version_requirements: *id001
59
+ version: "0"
60
+ prerelease: false
61
+ type: :development
62
+ requirement: *id003
36
63
  - !ruby/object:Gem::Dependency
37
64
  name: bson_ext
65
+ version_requirements: &id004 !ruby/object:Gem::Requirement
66
+ none: false
67
+ requirements:
68
+ - - ">="
69
+ - !ruby/object:Gem::Version
70
+ hash: 3
71
+ segments:
72
+ - 0
73
+ version: "0"
74
+ prerelease: false
75
+ type: :development
76
+ requirement: *id004
77
+ - !ruby/object:Gem::Dependency
78
+ name: rspec
79
+ version_requirements: &id005 !ruby/object:Gem::Requirement
80
+ none: false
81
+ requirements:
82
+ - - ">="
83
+ - !ruby/object:Gem::Version
84
+ hash: 3
85
+ segments:
86
+ - 0
87
+ version: "0"
38
88
  prerelease: false
39
- requirement: &id002 !ruby/object:Gem::Requirement
89
+ type: :development
90
+ requirement: *id005
91
+ - !ruby/object:Gem::Dependency
92
+ name: bson_ext
93
+ version_requirements: &id006 !ruby/object:Gem::Requirement
40
94
  none: false
41
95
  requirements:
42
96
  - - ">="
43
97
  - !ruby/object:Gem::Version
98
+ hash: 3
44
99
  segments:
45
100
  - 0
46
101
  version: "0"
102
+ prerelease: false
47
103
  type: :development
48
- version_requirements: *id002
104
+ requirement: *id006
49
105
  - !ruby/object:Gem::Dependency
50
106
  name: rspec
107
+ version_requirements: &id007 !ruby/object:Gem::Requirement
108
+ none: false
109
+ requirements:
110
+ - - ">="
111
+ - !ruby/object:Gem::Version
112
+ hash: 3
113
+ segments:
114
+ - 0
115
+ version: "0"
51
116
  prerelease: false
52
- requirement: &id003 !ruby/object:Gem::Requirement
117
+ type: :development
118
+ requirement: *id007
119
+ - !ruby/object:Gem::Dependency
120
+ name: bson_ext
121
+ version_requirements: &id008 !ruby/object:Gem::Requirement
122
+ none: false
123
+ requirements:
124
+ - - ">="
125
+ - !ruby/object:Gem::Version
126
+ hash: 3
127
+ segments:
128
+ - 0
129
+ version: "0"
130
+ prerelease: false
131
+ type: :development
132
+ requirement: *id008
133
+ - !ruby/object:Gem::Dependency
134
+ name: rspec
135
+ version_requirements: &id009 !ruby/object:Gem::Requirement
136
+ none: false
137
+ requirements:
138
+ - - ">="
139
+ - !ruby/object:Gem::Version
140
+ hash: 3
141
+ segments:
142
+ - 0
143
+ version: "0"
144
+ prerelease: false
145
+ type: :development
146
+ requirement: *id009
147
+ - !ruby/object:Gem::Dependency
148
+ name: bson_ext
149
+ version_requirements: &id010 !ruby/object:Gem::Requirement
150
+ none: false
151
+ requirements:
152
+ - - ">="
153
+ - !ruby/object:Gem::Version
154
+ hash: 3
155
+ segments:
156
+ - 0
157
+ version: "0"
158
+ prerelease: false
159
+ type: :development
160
+ requirement: *id010
161
+ - !ruby/object:Gem::Dependency
162
+ name: rspec
163
+ version_requirements: &id011 !ruby/object:Gem::Requirement
164
+ none: false
165
+ requirements:
166
+ - - ">="
167
+ - !ruby/object:Gem::Version
168
+ hash: 3
169
+ segments:
170
+ - 0
171
+ version: "0"
172
+ prerelease: false
173
+ type: :development
174
+ requirement: *id011
175
+ - !ruby/object:Gem::Dependency
176
+ name: mongoid
177
+ version_requirements: &id012 !ruby/object:Gem::Requirement
53
178
  none: false
54
179
  requirements:
55
180
  - - ~>
56
181
  - !ruby/object:Gem::Version
182
+ hash: 7712058
57
183
  segments:
58
184
  - 2
59
185
  - 0
60
186
  - 0
61
187
  - rc
62
188
  version: 2.0.0.rc
189
+ prerelease: false
190
+ type: :runtime
191
+ requirement: *id012
192
+ - !ruby/object:Gem::Dependency
193
+ name: bson_ext
194
+ version_requirements: &id013 !ruby/object:Gem::Requirement
195
+ none: false
196
+ requirements:
197
+ - - ">="
198
+ - !ruby/object:Gem::Version
199
+ hash: 3
200
+ segments:
201
+ - 0
202
+ version: "0"
203
+ prerelease: false
204
+ type: :development
205
+ requirement: *id013
206
+ - !ruby/object:Gem::Dependency
207
+ name: rspec
208
+ version_requirements: &id014 !ruby/object:Gem::Requirement
209
+ none: false
210
+ requirements:
211
+ - - ">="
212
+ - !ruby/object:Gem::Version
213
+ hash: 3
214
+ segments:
215
+ - 0
216
+ version: "0"
217
+ prerelease: false
63
218
  type: :development
64
- version_requirements: *id003
219
+ requirement: *id014
65
220
  description: Add Up / Down Voting for Mongoid
66
221
  email: alex@vinova.sg
67
222
  executables: []
@@ -80,8 +235,8 @@ homepage: http://github.com/vinova/voteable_mongoid
80
235
  licenses: []
81
236
 
82
237
  post_install_message:
83
- rdoc_options:
84
- - --charset=UTF-8
238
+ rdoc_options: []
239
+
85
240
  require_paths:
86
241
  - lib
87
242
  required_ruby_version: !ruby/object:Gem::Requirement
@@ -89,6 +244,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
89
244
  requirements:
90
245
  - - ">="
91
246
  - !ruby/object:Gem::Version
247
+ hash: 3
92
248
  segments:
93
249
  - 0
94
250
  version: "0"
@@ -97,13 +253,14 @@ required_rubygems_version: !ruby/object:Gem::Requirement
97
253
  requirements:
98
254
  - - ">="
99
255
  - !ruby/object:Gem::Version
256
+ hash: 3
100
257
  segments:
101
258
  - 0
102
259
  version: "0"
103
260
  requirements: []
104
261
 
105
262
  rubyforge_project:
106
- rubygems_version: 1.3.7
263
+ rubygems_version: 1.5.2
107
264
  signing_key:
108
265
  specification_version: 3
109
266
  summary: Add Up / Down Voting for Mongoid