acts_rateable 0.0.8 → 0.0.9

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.
checksums.yaml CHANGED
@@ -1,15 +1,7 @@
1
1
  ---
2
- !binary "U0hBMQ==":
3
- metadata.gz: !binary |-
4
- ZTQ5YmFjMTJkNTkxZWI2ZmU5MTM1ZGFhMzczNjI5NDMyMDgwY2E2NA==
5
- data.tar.gz: !binary |-
6
- ZGJjY2NkYzRlMjE2OWNiYmU1ODFmOGYzZWYwMWJkMTc4OGQ2ZGY4OA==
2
+ SHA1:
3
+ metadata.gz: 9e5ae76f712ab61e271a04c9795b38f78b6108a9
4
+ data.tar.gz: 3bf4cac295b9e8fba704a4b867f632cc10628347
7
5
  SHA512:
8
- metadata.gz: !binary |-
9
- ZmUzMDg5NWNiZmNkMTAzNjFkNWZmMjZmZjg1ZGMwMDdkYTE3Y2FhMzQxM2Uz
10
- ZWU3YmUzNWUzNTgyMWE0Nzc3MmUwNDA2OTIyZmYxNjc0MWY1ZTgwNjU0ZWE5
11
- MDNkY2U5YWZlZWI5Yjk4YmRjMmE0Y2ZmZTc1ODMwZjVjNWU0MjI=
12
- data.tar.gz: !binary |-
13
- ZDNlMDljMTExZTViMzhhODdkNmY1MjlkY2Q2YzU0OWQ2Y2ViY2YxYzkwMWZk
14
- ZjhlZGM1ODA0ZmY3YWVmNGY5NWZjZGViMWQ0OTRjYzI5YzhlYjRkODQ5NjMx
15
- YmI3NzAzNTI4NDE3MzFhY2Q1NDg1OGViYjZiZjAwMWUzNDk4ZDI=
6
+ metadata.gz: a75321111d7f6121123804ae20b731c9143e39d53cd0fe6b009d69e5c44fe33a060b0a8b4bf0d43c5cda7d97727fb18985fdf9e04160b550e74238f7356baa5d
7
+ data.tar.gz: 0dccf046d313d6bf3f133e49a631f7ce3696048778f465e8f9cb736220597590ed1ef71730045fe94cd6b67ab2d7ab5bb6b1cbc98964ba8306bad197912d5dda
@@ -28,8 +28,8 @@ module ActsRateable
28
28
  }
29
29
 
30
30
  after_create do
31
- rating = ActsRateable::Rating.where({resource_id: self.id, resource_type: self.class.name}).first_or_initialize.save
32
- ActsRateable::Count.where({resource_id: self.id, resource_type: self.class.name}).first_or_initialize.save #if !rates.empty?
31
+ ActsRateable::Rating.where({resource_id: self.id, resource_type: self.class.base_class.name }).first_or_initialize.save
32
+ ActsRateable::Count.where({resource_id: self.id, resource_type: self.class.base_class.name }).first_or_initialize.save
33
33
  end
34
34
 
35
35
  include LocalInstanceMethods
@@ -14,16 +14,16 @@ module ActsRateable
14
14
 
15
15
  def self.get_totals(author)
16
16
  sql = "SELECT COUNT(*) total_ratings, SUM(value) rating_sum, AVG(value) rating_avg, "+
17
- "(SELECT COUNT(DISTINCT author_id) FROM ar_rates WHERE author_type = '#{author.class.name}') rated_count, "+
18
- "((SELECT COUNT(*) from ar_rates WHERE author_type = '#{author.class.name}') / (SELECT COUNT(DISTINCT author_id) FROM ar_rates WHERE author_type = '#{author.class.name}')) avg_num_ratings "+
19
- "FROM ar_rates WHERE author_type = '#{author.class.name}'"
17
+ "(SELECT COUNT(DISTINCT author_id) FROM ar_rates WHERE author_type = '#{author.class.base_class.name}') rated_count, "+
18
+ "((SELECT COUNT(*) from ar_rates WHERE author_type = '#{author.class.base_class.name}') / (SELECT COUNT(DISTINCT author_id) FROM ar_rates WHERE author_type = '#{author.class.base_class.name}')) avg_num_ratings "+
19
+ "FROM ar_rates WHERE author_type = '#{author.class.base_class.name}'"
20
20
  # RETURNS = { "total_ratings"=>"", "rating_sum"=>"", "rating_avg"=>"", "rated_count"=>"", "avg_num_ratings"=>"" }
21
21
  ActsRateable::Rate.connection.execute(sql).first
22
22
  end
23
23
 
24
24
  def self.values_for(author)
25
25
  sql = "SELECT COUNT(*) total_ratings, COALESCE(SUM(value),0) rating_sum, COALESCE(AVG(value),0) rating_avg "+
26
- "FROM ar_rates WHERE author_type = '#{author.class.name}' and author_id = '#{author.id}'"
26
+ "FROM ar_rates WHERE author_type = '#{author.class.base_class.name}' and author_id = '#{author.id}'"
27
27
  # RETURNS = {"total_ratings"=>"", "rating_sum"=>"", "rating_avg"=>""}
28
28
  ActsRateable::Rate.connection.execute(sql).first
29
29
  end
@@ -19,8 +19,8 @@ module ActsRateable
19
19
 
20
20
  def self.rated?(resource, author)
21
21
  rate = where({
22
- author_type: author.class.name, author_id: author.id,
23
- resource_type: resource.class.name, resource_id: resource.id
22
+ author_type: author.class.base_class.name, author_id: author.id,
23
+ resource_type: resource.class.base_class.name, resource_id: resource.id
24
24
  })
25
25
  return rate if rate
26
26
  return false
@@ -29,8 +29,8 @@ module ActsRateable
29
29
  def self.create(author, resource, value)
30
30
  return unless author && resource && value
31
31
  atts = {
32
- resource_type: resource.class.name, resource_id: resource.id,
33
- author_type: author.class.name, author_id: author.id,
32
+ resource_type: resource.class.base_class.name, resource_id: resource.id,
33
+ author_type: author.class.base_class.name, author_id: author.id,
34
34
  value: value
35
35
  }
36
36
  rate = where(atts.except(:value)).first_or_initialize(atts)
@@ -15,16 +15,16 @@ module ActsRateable
15
15
  # RETURNS = { "total_ratings"=>"", "rating_sum"=>"", "rating_avg"=>"", "rated_count"=>"", "avg_num_ratings"=>"" }
16
16
  def self.get_totals(resource)
17
17
  sql = "SELECT COUNT(*) total_ratings, SUM(value) rating_sum, AVG(value) rating_avg, "+
18
- "(SELECT COUNT(DISTINCT resource_id) FROM ar_rates WHERE resource_type = '#{resource.class.name}') rated_count, "+
19
- "((SELECT COUNT(*) from ar_rates WHERE resource_type = '#{resource.class.name}') / (SELECT COUNT(DISTINCT resource_id) FROM ar_rates WHERE resource_type = '#{resource.class.name}')) avg_num_ratings "+
20
- "FROM ar_rates WHERE resource_type = '#{resource.class.name}'"
18
+ "(SELECT COUNT(DISTINCT resource_id) FROM ar_rates WHERE resource_type = '#{resource.class.base_class.name}') rated_count, "+
19
+ "((SELECT COUNT(*) from ar_rates WHERE resource_type = '#{resource.class.base_class.name}') / (SELECT COUNT(DISTINCT resource_id) FROM ar_rates WHERE resource_type = '#{resource.class.base_class.name}')) avg_num_ratings "+
20
+ "FROM ar_rates WHERE resource_type = '#{resource.class.base_class.name}'"
21
21
  ActsRateable::Rate.connection.execute(sql).first
22
22
  end
23
23
 
24
24
  # RETURNS = {"total_ratings"=>"", "rating_sum"=>"", "rating_avg"=>""}
25
25
  def self.values_for(resource)
26
26
  sql = "SELECT COUNT(*) total_ratings, COALESCE(SUM(value),0) rating_sum, COALESCE(AVG(value),0) rating_avg "+
27
- "FROM ar_rates WHERE resource_type = '#{resource.class.name}' and resource_id = '#{resource.id}'"
27
+ "FROM ar_rates WHERE resource_type = '#{resource.class.base_class.name}' and resource_id = '#{resource.id}'"
28
28
  ActsRateable::Rate.connection.execute(sql).first
29
29
  end
30
30
 
@@ -1,3 +1,3 @@
1
1
  module ActsRateable
2
- VERSION = "0.0.8"
2
+ VERSION = "0.0.9"
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: acts_rateable
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.8
4
+ version: 0.0.9
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ty Rauber
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-04-27 00:00:00.000000000 Z
11
+ date: 2014-09-23 00:00:00.000000000 Z
12
12
  dependencies: []
13
13
  description: Rails 3 Bayesian Ratings Gem
14
14
  email:
@@ -39,12 +39,12 @@ require_paths:
39
39
  - lib
40
40
  required_ruby_version: !ruby/object:Gem::Requirement
41
41
  requirements:
42
- - - ! '>='
42
+ - - ">="
43
43
  - !ruby/object:Gem::Version
44
44
  version: '0'
45
45
  required_rubygems_version: !ruby/object:Gem::Requirement
46
46
  requirements:
47
- - - ! '>='
47
+ - - ">="
48
48
  - !ruby/object:Gem::Version
49
49
  version: '0'
50
50
  requirements: []