voteable_mongoid 0.3.4 → 0.3.5

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