voterable 0.0.5 → 0.0.6

Sign up to get free protection for your applications and to get access to all the features.
@@ -1,3 +1,3 @@
1
1
  module Voterable # :nodoc:
2
- VERSION = "0.0.5"
2
+ VERSION = "0.0.6"
3
3
  end
@@ -1,7 +1,6 @@
1
1
 
2
2
  require "voterable/functions"
3
3
 
4
- # DUDE! Remember you need to restart the sever to get this file to reload!
5
4
  module Voterable
6
5
 
7
6
  ##
@@ -39,7 +38,7 @@ module Voterable
39
38
  :day => [0, 1.days_in_seconds]
40
39
  }
41
40
 
42
- TALLYS = [:point, :count, :up, :down]
41
+ TALLYS = %w(point count up down).freeze
43
42
 
44
43
  #Class Methods
45
44
 
@@ -251,57 +250,20 @@ module Voterable
251
250
  tally.public_send(tally_type.to_s+'=',value)
252
251
  end
253
252
 
253
+ # Tally look up methods
254
+ TALLYS.each do |object|
255
+ class_eval <<-METHOD
256
+ def #{object}
257
+ get_tally("#{object}".to_sym, :all_time)
258
+ end
254
259
 
255
- # #Create Getter / Setter Methods for Tally Values
256
- # TALLYS.each do |tally_name|
257
- # define_method tally_name do
258
- # get_tally(tally_name,:all_time)
259
- # end
260
-
261
- # define_method "#{tally_name}=" do |value|
262
- # set_tally(tally_name,value,:all_time)
263
- # end
264
- # end
265
-
266
- #CONVIENCE METHODS, WISH ABOVE WORKED
267
- def point
268
- get_tally(:point, :all_time)
269
- end
270
-
271
- def point=(value)
272
- set_tally(:point, value, :all_time)
273
- end
274
-
275
- def count
276
- get_tally(:count, :all_time)
277
- end
278
-
279
- def count=(value)
280
- set_tally(:count, value, :all_time)
281
- end
282
-
283
- def up
284
- get_tally(:up, :all_time)
285
- end
286
-
287
- def up=(value)
288
- set_tally(:up, value, :all_time)
289
- end
290
-
291
- def down
292
- get_tally(:down, :all_time)
293
- end
294
-
295
- def down=(value)
296
- set_tally(:down, value, :all_time)
260
+ def #{object}=(value)
261
+ set_tally("#{object}".to_sym, value, :all_time)
262
+ end
263
+
264
+ METHOD
297
265
  end
298
266
 
299
267
  end
300
268
  end
301
269
 
302
- #OLD CODE
303
- # if array.count < hsh[:limit]
304
- # diff = hsh[:limit] - array.count
305
- # array += self.where(:tallys.exists => false).limit(diff)
306
- # end
307
- # array
@@ -48,11 +48,13 @@ module Voterable
48
48
  #
49
49
  def calculate_reputation
50
50
  #Contributed things
51
- # sum = self.things.count + self.things.count
52
- sum = self.voteables.count
53
-
51
+ sum = 0
52
+
54
53
  #Things that got votes
55
- self.voteables.each{|t| sum+=t.votes_point}
54
+ self.voteables.each do |t|
55
+ sum+=t.class.options(:init) # Voteable initial value
56
+ sum+=t.votes_point
57
+ end
56
58
 
57
59
  #Vote Back
58
60
  self.votes.each do |v|
data/spec/factories.rb CHANGED
@@ -3,7 +3,7 @@ require 'voterable'
3
3
 
4
4
  class Voteable < Voterable::Voteable # :nodoc:
5
5
 
6
- voteable self, :up => +5, :down => -2 #, :index => true
6
+ voteable self, :up => +5, :down => -2, :init => 1 #, :index => true
7
7
  voteback self, :up => +1, :down => -2
8
8
  end
9
9
 
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: voterable
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.5
4
+ version: 0.0.6
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,11 +9,11 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2011-12-27 00:00:00.000000000Z
12
+ date: 2012-01-11 00:00:00.000000000Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: mongoid
16
- requirement: &70137966354900 !ruby/object:Gem::Requirement
16
+ requirement: &70150800899960 !ruby/object:Gem::Requirement
17
17
  none: false
18
18
  requirements:
19
19
  - - =
@@ -21,10 +21,10 @@ dependencies:
21
21
  version: 2.3.0
22
22
  type: :runtime
23
23
  prerelease: false
24
- version_requirements: *70137966354900
24
+ version_requirements: *70150800899960
25
25
  - !ruby/object:Gem::Dependency
26
26
  name: bson
27
- requirement: &70137966354280 !ruby/object:Gem::Requirement
27
+ requirement: &70150800899300 !ruby/object:Gem::Requirement
28
28
  none: false
29
29
  requirements:
30
30
  - - =
@@ -32,10 +32,10 @@ dependencies:
32
32
  version: 1.4.0
33
33
  type: :runtime
34
34
  prerelease: false
35
- version_requirements: *70137966354280
35
+ version_requirements: *70150800899300
36
36
  - !ruby/object:Gem::Dependency
37
37
  name: bson_ext
38
- requirement: &70137966353740 !ruby/object:Gem::Requirement
38
+ requirement: &70150800898660 !ruby/object:Gem::Requirement
39
39
  none: false
40
40
  requirements:
41
41
  - - =
@@ -43,10 +43,10 @@ dependencies:
43
43
  version: 1.4.0
44
44
  type: :runtime
45
45
  prerelease: false
46
- version_requirements: *70137966353740
46
+ version_requirements: *70150800898660
47
47
  - !ruby/object:Gem::Dependency
48
48
  name: rspec
49
- requirement: &70137966353360 !ruby/object:Gem::Requirement
49
+ requirement: &70150800898160 !ruby/object:Gem::Requirement
50
50
  none: false
51
51
  requirements:
52
52
  - - ! '>='
@@ -54,10 +54,10 @@ dependencies:
54
54
  version: '0'
55
55
  type: :development
56
56
  prerelease: false
57
- version_requirements: *70137966353360
57
+ version_requirements: *70150800898160
58
58
  - !ruby/object:Gem::Dependency
59
59
  name: factory_girl
60
- requirement: &70137966352800 !ruby/object:Gem::Requirement
60
+ requirement: &70150800897360 !ruby/object:Gem::Requirement
61
61
  none: false
62
62
  requirements:
63
63
  - - ~>
@@ -65,10 +65,10 @@ dependencies:
65
65
  version: 2.1.0
66
66
  type: :development
67
67
  prerelease: false
68
- version_requirements: *70137966352800
68
+ version_requirements: *70150800897360
69
69
  - !ruby/object:Gem::Dependency
70
70
  name: guard
71
- requirement: &70137966352320 !ruby/object:Gem::Requirement
71
+ requirement: &70150800896600 !ruby/object:Gem::Requirement
72
72
  none: false
73
73
  requirements:
74
74
  - - ! '>='
@@ -76,10 +76,10 @@ dependencies:
76
76
  version: '0'
77
77
  type: :development
78
78
  prerelease: false
79
- version_requirements: *70137966352320
79
+ version_requirements: *70150800896600
80
80
  - !ruby/object:Gem::Dependency
81
81
  name: guard-rspec
82
- requirement: &70137966351580 !ruby/object:Gem::Requirement
82
+ requirement: &70150800896140 !ruby/object:Gem::Requirement
83
83
  none: false
84
84
  requirements:
85
85
  - - ! '>='
@@ -87,10 +87,10 @@ dependencies:
87
87
  version: '0'
88
88
  type: :development
89
89
  prerelease: false
90
- version_requirements: *70137966351580
90
+ version_requirements: *70150800896140
91
91
  - !ruby/object:Gem::Dependency
92
92
  name: guard-spork
93
- requirement: &70137966349520 !ruby/object:Gem::Requirement
93
+ requirement: &70150800895700 !ruby/object:Gem::Requirement
94
94
  none: false
95
95
  requirements:
96
96
  - - ! '>='
@@ -98,10 +98,10 @@ dependencies:
98
98
  version: '0'
99
99
  type: :development
100
100
  prerelease: false
101
- version_requirements: *70137966349520
101
+ version_requirements: *70150800895700
102
102
  - !ruby/object:Gem::Dependency
103
103
  name: database_cleaner
104
- requirement: &70137966347960 !ruby/object:Gem::Requirement
104
+ requirement: &70150800895020 !ruby/object:Gem::Requirement
105
105
  none: false
106
106
  requirements:
107
107
  - - ! '>='
@@ -109,10 +109,10 @@ dependencies:
109
109
  version: '0'
110
110
  type: :development
111
111
  prerelease: false
112
- version_requirements: *70137966347960
112
+ version_requirements: *70150800895020
113
113
  - !ruby/object:Gem::Dependency
114
114
  name: rb-fsevent
115
- requirement: &70137966345920 !ruby/object:Gem::Requirement
115
+ requirement: &70150800894600 !ruby/object:Gem::Requirement
116
116
  none: false
117
117
  requirements:
118
118
  - - ! '>='
@@ -120,10 +120,10 @@ dependencies:
120
120
  version: '0'
121
121
  type: :development
122
122
  prerelease: false
123
- version_requirements: *70137966345920
123
+ version_requirements: *70150800894600
124
124
  - !ruby/object:Gem::Dependency
125
125
  name: growl
126
- requirement: &70137966344500 !ruby/object:Gem::Requirement
126
+ requirement: &70150800894180 !ruby/object:Gem::Requirement
127
127
  none: false
128
128
  requirements:
129
129
  - - ! '>='
@@ -131,10 +131,10 @@ dependencies:
131
131
  version: '0'
132
132
  type: :development
133
133
  prerelease: false
134
- version_requirements: *70137966344500
134
+ version_requirements: *70150800894180
135
135
  - !ruby/object:Gem::Dependency
136
136
  name: rdoc
137
- requirement: &70137966343960 !ruby/object:Gem::Requirement
137
+ requirement: &70150800893720 !ruby/object:Gem::Requirement
138
138
  none: false
139
139
  requirements:
140
140
  - - ! '>='
@@ -142,7 +142,7 @@ dependencies:
142
142
  version: '0'
143
143
  type: :development
144
144
  prerelease: false
145
- version_requirements: *70137966343960
145
+ version_requirements: *70150800893720
146
146
  description: Hackish implementaiton of voting on of voteable objects by a voter
147
147
  email:
148
148
  - benguest@gmail.com