thumbs_up 0.5.2 → 0.5.3

Sign up to get free protection for your applications and to get access to all the features.
@@ -87,7 +87,7 @@ module ThumbsUp
87
87
  def voted_by?(voter)
88
88
  0 < Vote.where(
89
89
  :voteable_id => self.id,
90
- :voteable_type => self.class.name,
90
+ :voteable_type => self.class.base_class.name,
91
91
  :voter_id => voter.id
92
92
  ).count
93
93
  end
data/lib/acts_as_voter.rb CHANGED
@@ -32,7 +32,7 @@ module ThumbsUp #:nodoc:
32
32
  # user.vote_count() # All votes
33
33
 
34
34
  def vote_count(for_or_against = :all)
35
- v = Vote.where(:voter_id => id).where(:voter_type => self.class.name)
35
+ v = Vote.where(:voter_id => id).where(:voter_type => self.class.base_class.name)
36
36
  v = case for_or_against
37
37
  when :all then v
38
38
  when :up then v.where(:vote => true)
@@ -52,9 +52,9 @@ module ThumbsUp #:nodoc:
52
52
  def voted_on?(voteable)
53
53
  0 < Vote.where(
54
54
  :voter_id => self.id,
55
- :voter_type => self.class.name,
55
+ :voter_type => self.class.base_class.name,
56
56
  :voteable_id => voteable.id,
57
- :voteable_type => voteable.class.name
57
+ :voteable_type => voteable.class.base_class.name
58
58
  ).count
59
59
  end
60
60
 
@@ -86,9 +86,9 @@ module ThumbsUp #:nodoc:
86
86
  def unvote_for(voteable)
87
87
  Vote.where(
88
88
  :voter_id => self.id,
89
- :voter_type => self.class.name,
89
+ :voter_type => self.class.base_class.name,
90
90
  :voteable_id => voteable.id,
91
- :voteable_type => voteable.class.name
91
+ :voteable_type => voteable.class.base_class.name
92
92
  ).map(&:destroy)
93
93
  end
94
94
 
@@ -98,13 +98,13 @@ module ThumbsUp #:nodoc:
98
98
  raise ArgumentError, "expected :up or :down" unless [:up, :down].include?(direction)
99
99
  0 < Vote.where(
100
100
  :voter_id => self.id,
101
- :voter_type => self.class.name,
101
+ :voter_type => self.class.base_class.name,
102
102
  :vote => direction == :up ? true : false,
103
103
  :voteable_id => voteable.id,
104
- :voteable_type => voteable.class.name
104
+ :voteable_type => voteable.class.base_class.name
105
105
  ).count
106
106
  end
107
107
 
108
108
  end
109
109
  end
110
- end
110
+ end
@@ -1,7 +1,7 @@
1
1
  class Vote < ActiveRecord::Base
2
2
 
3
- scope :for_voter, lambda { |*args| where(["voter_id = ? AND voter_type = ?", args.first.id, args.first.class.name]) }
4
- scope :for_voteable, lambda { |*args| where(["voteable_id = ? AND voteable_type = ?", args.first.id, args.first.class.name]) }
3
+ scope :for_voter, lambda { |*args| where(["voter_id = ? AND voter_type = ?", args.first.id, args.first.class.base_class.name]) }
4
+ scope :for_voteable, lambda { |*args| where(["voteable_id = ? AND voteable_type = ?", args.first.id, args.first.class.base_class.name]) }
5
5
  scope :recent, lambda { |*args| where(["created_at > ?", (args.first || 2.weeks.ago)]) }
6
6
  scope :descending, order("created_at DESC")
7
7
 
@@ -14,4 +14,4 @@ class Vote < ActiveRecord::Base
14
14
  # Comment out the line below to allow multiple votes per user.
15
15
  validates_uniqueness_of :voteable_id, :scope => [:voteable_type, :voter_type, :voter_id]
16
16
  <% end %>
17
- end
17
+ end
data/lib/has_karma.rb CHANGED
@@ -29,10 +29,10 @@ module ThumbsUp #:nodoc:
29
29
 
30
30
  module InstanceMethods
31
31
  def karma(options = {})
32
- self.class.karmic_objects.collect do |object, attr|
33
- v = object.where(["#{Vote.table_name}.vote = ?", true]).where(["#{self.class.table_name}.#{self.class.primary_key} = ?", self.id])
32
+ self.class.base_class.karmic_objects.collect do |object, attr|
33
+ v = object.where(["#{Vote.table_name}.vote = ?", true]).where(["#{self.class.base_class.table_name}.#{self.class.base_class.primary_key} = ?", self.id])
34
34
  v = v.joins("INNER JOIN #{Vote.table_name} ON #{Vote.table_name}.voteable_type = '#{object.to_s}' AND #{Vote.table_name}.voteable_id = #{object.table_name}.#{object.primary_key}")
35
- v = v.joins("INNER JOIN #{self.class.table_name} ON #{self.class.table_name}.#{self.class.primary_key} = #{object.table_name}.#{attr[0]}")
35
+ v = v.joins("INNER JOIN #{self.class.base_class.table_name} ON #{self.class.base_class.table_name}.#{self.class.base_class.primary_key} = #{object.table_name}.#{attr[0]}")
36
36
  (v.count.to_f * attr[1]).round
37
37
  end.sum
38
38
  end
@@ -1,3 +1,3 @@
1
1
  module ThumbsUp
2
- VERSION = '0.5.2'
2
+ VERSION = '0.5.3'
3
3
  end
data/lib/thumbs_up.rb CHANGED
@@ -4,4 +4,4 @@ require 'has_karma'
4
4
 
5
5
  ActiveRecord::Base.send(:include, ThumbsUp::ActsAsVoteable)
6
6
  ActiveRecord::Base.send(:include, ThumbsUp::ActsAsVoter)
7
- ActiveRecord::Base.send(:include, ThumbsUp::Karma)
7
+ ActiveRecord::Base.send(:include, ThumbsUp::Karma)
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: thumbs_up
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.5.2
4
+ version: 0.5.3
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -18,7 +18,7 @@ date: 2012-03-05 00:00:00.000000000 Z
18
18
  dependencies:
19
19
  - !ruby/object:Gem::Dependency
20
20
  name: activerecord
21
- requirement: &70213086288380 !ruby/object:Gem::Requirement
21
+ requirement: &70260724487840 !ruby/object:Gem::Requirement
22
22
  none: false
23
23
  requirements:
24
24
  - - ! '>='
@@ -26,10 +26,10 @@ dependencies:
26
26
  version: '0'
27
27
  type: :runtime
28
28
  prerelease: false
29
- version_requirements: *70213086288380
29
+ version_requirements: *70260724487840
30
30
  - !ruby/object:Gem::Dependency
31
31
  name: simplecov
32
- requirement: &70213086287800 !ruby/object:Gem::Requirement
32
+ requirement: &70260724487260 !ruby/object:Gem::Requirement
33
33
  none: false
34
34
  requirements:
35
35
  - - ! '>='
@@ -37,10 +37,10 @@ dependencies:
37
37
  version: '0'
38
38
  type: :development
39
39
  prerelease: false
40
- version_requirements: *70213086287800
40
+ version_requirements: *70260724487260
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: bundler
43
- requirement: &70213086287280 !ruby/object:Gem::Requirement
43
+ requirement: &70260724486740 !ruby/object:Gem::Requirement
44
44
  none: false
45
45
  requirements:
46
46
  - - ! '>='
@@ -48,10 +48,10 @@ dependencies:
48
48
  version: '0'
49
49
  type: :development
50
50
  prerelease: false
51
- version_requirements: *70213086287280
51
+ version_requirements: *70260724486740
52
52
  - !ruby/object:Gem::Dependency
53
53
  name: mysql2
54
- requirement: &70213086303020 !ruby/object:Gem::Requirement
54
+ requirement: &70260724502580 !ruby/object:Gem::Requirement
55
55
  none: false
56
56
  requirements:
57
57
  - - ! '>='
@@ -59,10 +59,10 @@ dependencies:
59
59
  version: '0'
60
60
  type: :development
61
61
  prerelease: false
62
- version_requirements: *70213086303020
62
+ version_requirements: *70260724502580
63
63
  - !ruby/object:Gem::Dependency
64
64
  name: rake
65
- requirement: &70213086302400 !ruby/object:Gem::Requirement
65
+ requirement: &70260724501960 !ruby/object:Gem::Requirement
66
66
  none: false
67
67
  requirements:
68
68
  - - ! '>='
@@ -70,7 +70,7 @@ dependencies:
70
70
  version: '0'
71
71
  type: :development
72
72
  prerelease: false
73
- version_requirements: *70213086302400
73
+ version_requirements: *70260724501960
74
74
  description: ThumbsUp provides dead-simple voting capabilities to ActiveRecord models
75
75
  with karma calculation, a la stackoverflow.com.
76
76
  email:
@@ -109,7 +109,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
109
109
  version: '0'
110
110
  segments:
111
111
  - 0
112
- hash: -3776225612580691587
112
+ hash: 4476845312579799296
113
113
  required_rubygems_version: !ruby/object:Gem::Requirement
114
114
  none: false
115
115
  requirements: