thumbs_up 0.5.2 → 0.5.3

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.
@@ -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: