mongoid_rateable 0.1.7 → 0.2.0

Sign up to get free protection for your applications and to get access to all the features.
data/.rspec CHANGED
@@ -1 +1,2 @@
1
1
  --color
2
+ --format documentation
data/Gemfile CHANGED
@@ -1,17 +1,15 @@
1
1
  source "http://rubygems.org"
2
2
 
3
- # Add dependencies required to use your gem here.
3
+ gemspec
4
4
 
5
- gem "bson_ext"
6
- gem "mongoid"
5
+ gem "mongoid", ">= 3.0"
7
6
 
8
- # Add dependencies to develop your gem here.
9
- # Include everything needed to run rake, tests, features, etc.
10
7
  group :development do
11
- gem "bundler", "~> 1.0.0"
8
+ gem "bundler"
12
9
  gem "jeweler", "~> 1.6.2"
13
10
  gem "simplecov", '>= 0.4.0', :require => false
14
11
  gem "rdoc", ">= 0"
15
12
  gem "rspec", ">= 2.0.0"
16
13
  gem "database_cleaner"
17
14
  end
15
+
data/Gemfile.lock CHANGED
@@ -1,17 +1,21 @@
1
+ PATH
2
+ remote: .
3
+ specs:
4
+ mongoid_rateable (0.2.0)
5
+ mongoid (>= 3.0)
6
+ mongoid_rateable
7
+
1
8
  GEM
2
9
  remote: http://rubygems.org/
3
10
  specs:
4
- activemodel (3.2.1)
5
- activesupport (= 3.2.1)
11
+ activemodel (3.2.7)
12
+ activesupport (= 3.2.7)
6
13
  builder (~> 3.0.0)
7
- activesupport (3.2.1)
14
+ activesupport (3.2.7)
8
15
  i18n (~> 0.6)
9
16
  multi_json (~> 1.0)
10
- bson (1.5.2)
11
- bson_ext (1.5.2)
12
- bson (= 1.5.2)
13
17
  builder (3.0.0)
14
- database_cleaner (0.7.1)
18
+ database_cleaner (0.8.0)
15
19
  diff-lcs (1.1.3)
16
20
  git (1.2.5)
17
21
  i18n (0.6.0)
@@ -19,40 +23,41 @@ GEM
19
23
  bundler (~> 1.0)
20
24
  git (>= 1.2.5)
21
25
  rake
22
- json (1.6.5)
23
- mongo (1.5.2)
24
- bson (= 1.5.2)
25
- mongoid (2.4.3)
26
+ json (1.7.4)
27
+ mongoid (3.0.3)
26
28
  activemodel (~> 3.1)
27
- mongo (~> 1.3)
29
+ moped (~> 1.1)
30
+ origin (~> 1.0)
28
31
  tzinfo (~> 0.3.22)
29
- multi_json (1.0.4)
32
+ moped (1.2.0)
33
+ multi_json (1.3.6)
34
+ origin (1.0.4)
30
35
  rake (0.9.2.2)
31
36
  rdoc (3.12)
32
37
  json (~> 1.4)
33
- rspec (2.8.0)
34
- rspec-core (~> 2.8.0)
35
- rspec-expectations (~> 2.8.0)
36
- rspec-mocks (~> 2.8.0)
37
- rspec-core (2.8.0)
38
- rspec-expectations (2.8.0)
39
- diff-lcs (~> 1.1.2)
40
- rspec-mocks (2.8.0)
41
- simplecov (0.5.4)
42
- multi_json (~> 1.0.3)
38
+ rspec (2.11.0)
39
+ rspec-core (~> 2.11.0)
40
+ rspec-expectations (~> 2.11.0)
41
+ rspec-mocks (~> 2.11.0)
42
+ rspec-core (2.11.1)
43
+ rspec-expectations (2.11.2)
44
+ diff-lcs (~> 1.1.3)
45
+ rspec-mocks (2.11.1)
46
+ simplecov (0.6.4)
47
+ multi_json (~> 1.0)
43
48
  simplecov-html (~> 0.5.3)
44
49
  simplecov-html (0.5.3)
45
- tzinfo (0.3.31)
50
+ tzinfo (0.3.33)
46
51
 
47
52
  PLATFORMS
48
53
  ruby
49
54
 
50
55
  DEPENDENCIES
51
- bson_ext
52
- bundler (~> 1.0.0)
56
+ bundler
53
57
  database_cleaner
54
58
  jeweler (~> 1.6.2)
55
- mongoid
59
+ mongoid (>= 3.0)
60
+ mongoid_rateable!
56
61
  rdoc
57
62
  rspec (>= 2.0.0)
58
63
  simplecov (>= 0.4.0)
data/README.rdoc CHANGED
@@ -2,6 +2,11 @@
2
2
 
3
3
  Provides fields and methods for the *rating* manipulation on Mongoid documents
4
4
 
5
+ {<img src="https://secure.travis-ci.org/proton/mongoid_rateable.png" />}[http://travis-ci.org/proton/mongoid_rateable]
6
+
7
+ Lastest version of Mongoid:Rateable requires mongoid 3.
8
+ If you need a mongoid 2 support, look at mongoid_rateable 0.1.7.
9
+
5
10
  == Installation
6
11
 
7
12
  Add to Gemfile:
data/Rakefile CHANGED
@@ -37,7 +37,7 @@ task :default => :spec
37
37
 
38
38
  require 'rdoc/task'
39
39
  RDoc::Task.new do |rdoc|
40
- version = File.exist?('VERSION') ? File.read('VERSION') : ""
40
+ version = File.exist?('VERSION') ? File.read('VERSION') : ""
41
41
 
42
42
  rdoc.rdoc_dir = 'rdoc'
43
43
  rdoc.title = "mongoid_rateable #{version}"
@@ -56,15 +56,4 @@ end
56
56
  desc "Release gem"
57
57
  task :release => :build do
58
58
  version = File.exist?('VERSION') ? File.read('VERSION') : ""
59
-
60
- # puts "Commiting #{version}"
61
- # system "git commit -a -m 'Version bump to #{version}'"
62
- # puts "Tagging #{version}"
63
- # system "git tag -a #{version} -m 'Tagging #{version}'"
64
- # puts "Pushing…"
65
- # system "git push"
66
- # system "git push --tags"
67
- # puts "Releasing to Gemcutter"
68
- # system "gem push mongoid_rateable-#{version}.gem"
69
59
  end
70
-
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.1.7
1
+ 0.2.0
@@ -1,110 +1,100 @@
1
1
  module Mongoid
2
- module Rateable
3
- extend ActiveSupport::Concern
4
-
5
- included do
6
- field :rates, :type => Integer, :default => 0
7
- field :rating, :type => Float, :default => nil
8
- field :weighted_rate_count, :type => Integer, :default => 0
9
-
10
- embeds_many :rating_marks, :as => :rateable
11
-
12
- index(
13
- [
14
- ["rating_marks.rater_id", Mongo::ASCENDING],
15
- ["rating_marks.rater_class", Mongo::ASCENDING]
16
- ]
17
- )
18
-
19
- scope :unrated, where(:rating.exists => false)
20
- scope :rated, where(:rating.exists => true)
21
- scope :rated_by, ->(rater) { where("rating_marks.rater_id" => rater.id, "rating_marks.rater_class" => rater.class.to_s) }
22
- scope :with_rating, ->(range) { where(:rating.gte => range.begin, :rating.lte => range.end) }
23
- scope :highest_rated, ->(limit=10) { order_by([:rating, :desc]).limit(limit) }
24
- end
25
-
26
- def rate(mark, rater, weight = 1)
27
- validate_rating!(mark)
28
- unrate_without_rating_update(rater)
29
- total_mark = mark.to_i*weight.to_i
30
- self.rates += total_mark
31
- self.rating_marks.new(:rater_id => rater.id, :mark => mark, :rater_class => rater.class.to_s, :weight => weight)
32
- self.weighted_rate_count += weight
33
- update_rating
34
- end
35
-
36
- def unrate(rater)
37
- unrate_without_rating_update(rater)
38
- update_rating
39
- end
40
-
41
- def rate_and_save(mark, rater, weight = 1)
42
- rate(mark, rater, weight)
43
- save
44
- end
45
-
46
- def unrate_and_save(rater)
47
- unrate(rater)
48
- save
49
- end
50
-
51
- def rated?(rater = nil)
52
- if rater
53
- puts "Deprecated method, please use rated_by?"
54
- rated_by?(rater)
55
- else
56
- rate_count!=0
57
- end
58
- end
59
-
60
- def rated_by?(rater)
61
- self.rating_marks.where(:rater_id => rater.id, :rater_class => rater.class.to_s).count == 1
62
- end
63
-
64
- def rating
65
- read_attribute(:rating)
66
- end
67
-
68
- def rate_count
69
- self.rating_marks.size
70
- end
71
-
72
- def rate_weight
73
- check_weighted_rate_count
74
- read_attribute(:weighted_rate_count)
75
- end
76
-
77
- protected
78
-
79
- def validate_rating!(value)
80
- if (defined? self.class::RATING_RANGE) and (range = self.class::RATING_RANGE) and !range.include?(value.to_i)
81
- raise ArgumentError, "Rating not in range #{range}. Rating provided was #{value}."
82
- end
83
- end
84
-
85
- def unrate_without_rating_update(rater)
86
- rmark = self.rating_marks.where(:rater_id => rater.id, :rater_class => rater.class.to_s).first
87
- if rmark
88
- weight = (rmark.weight ||= 1)
89
- total_mark = rmark.mark.to_i*weight.to_i
90
- self.rates -= total_mark
91
- self.weighted_rate_count -= weight
92
- rmark.delete
93
- end
94
- end
95
-
96
- def update_rating
97
- check_weighted_rate_count
98
- rt = (self.rates.to_f / self.weighted_rate_count.to_f) unless self.rating_marks.blank?
99
- write_attribute(:rating, rt)
100
- end
101
-
102
- def check_weighted_rate_count
103
- #migration from old version
104
- wrc = read_attribute(:weighted_rate_count).to_i
105
- if (wrc==0 && rate_count!=0)
106
- write_attribute(:weighted_rate_count, self.rating_marks.size)
107
- end
108
- end
109
- end
2
+ module Rateable
3
+ extend ActiveSupport::Concern
4
+
5
+ included do
6
+ field :rates, :type => Integer, :default => 0
7
+ field :rating, :type => Float, :default => nil
8
+ field :weighted_rate_count, :type => Integer, :default => 0
9
+
10
+ embeds_many :rating_marks, :as => :rateable
11
+
12
+ index({"rating_marks.rater_id" => 1, "rating_marks.rater_class" => 1})
13
+
14
+ scope :unrated, where(:rating.exists => false)
15
+ scope :rated, where(:rating.exists => true)
16
+ scope :rated_by, ->(rater) { where("rating_marks.rater_id" => rater.id, "rating_marks.rater_class" => rater.class.to_s) }
17
+ scope :with_rating, ->(range) { where(:rating.gte => range.begin, :rating.lte => range.end) }
18
+ scope :highest_rated, ->(limit=10) { order_by([:rating, :desc]).limit(limit) }
19
+ end
20
+
21
+ def rate(mark, rater, weight = 1)
22
+ validate_rating!(mark)
23
+ unrate_without_rating_update(rater)
24
+ total_mark = mark.to_i*weight.to_i
25
+ self.rates += total_mark
26
+ self.rating_marks.new(:rater_id => rater.id, :mark => mark, :rater_class => rater.class.to_s, :weight => weight)
27
+ self.weighted_rate_count += weight
28
+ update_rating
29
+ end
30
+
31
+ def unrate(rater)
32
+ unrate_without_rating_update(rater)
33
+ update_rating
34
+ end
35
+
36
+ def rate_and_save(mark, rater, weight = 1)
37
+ rate(mark, rater, weight)
38
+ save
39
+ end
40
+
41
+ def unrate_and_save(rater)
42
+ unrate(rater)
43
+ save
44
+ end
45
+
46
+ def rated?
47
+ rate_count != 0
48
+ end
49
+
50
+ def rated_by?(rater)
51
+ self.rating_marks.where(:rater_id => rater.id, :rater_class => rater.class.to_s).count == 1
52
+ end
53
+
54
+ def rating
55
+ read_attribute(:rating)
56
+ end
57
+
58
+ def rate_count
59
+ self.rating_marks.size
60
+ end
61
+
62
+ def rate_weight
63
+ check_weighted_rate_count
64
+ read_attribute(:weighted_rate_count)
65
+ end
66
+
67
+ protected
68
+
69
+ def validate_rating!(value)
70
+ if (defined? self.class::RATING_RANGE) and (range = self.class::RATING_RANGE) and !range.include?(value.to_i)
71
+ raise ArgumentError, "Rating not in range #{range}. Rating provided was #{value}."
72
+ end
73
+ end
74
+
75
+ def unrate_without_rating_update(rater)
76
+ rmark = self.rating_marks.where(:rater_id => rater.id, :rater_class => rater.class.to_s).first
77
+ return unless rmark
78
+
79
+ weight = (rmark.weight ||= 1)
80
+ total_mark = rmark.mark.to_i*weight.to_i
81
+ self.rates -= total_mark
82
+ self.weighted_rate_count -= weight
83
+ rmark.delete
84
+ end
85
+
86
+ def update_rating
87
+ check_weighted_rate_count
88
+ rt = (self.rates.to_f / self.weighted_rate_count.to_f) unless self.rating_marks.blank?
89
+ write_attribute(:rating, rt)
90
+ end
91
+
92
+ def check_weighted_rate_count
93
+ #migration from old version
94
+ wrc = read_attribute(:weighted_rate_count).to_i
95
+ if (wrc==0 && rate_count!=0)
96
+ write_attribute(:weighted_rate_count, self.rating_marks.size)
97
+ end
98
+ end
99
+ end
110
100
  end
@@ -1,8 +1,10 @@
1
1
  class RatingMark
2
- include Mongoid::Document
3
- embedded_in :rateable, :polymorphic => true
4
- field :mark, :type => Integer
5
- field :rater_class, :type => String
6
- field :rater_id, :type => BSON::ObjectId
7
- field :weight, :type => Integer, :default => 1
2
+ include Mongoid::Document
3
+ include Mongoid::Timestamps::Created
4
+
5
+ embedded_in :rateable, :polymorphic => true
6
+ field :mark, :type => Integer
7
+ field :rater_class, :type => String
8
+ field :rater_id, :type => Moped::BSON::ObjectId
9
+ field :weight, :type => Integer, :default => 1
8
10
  end
@@ -0,0 +1,3 @@
1
+ module MongoidRateable
2
+ VERSION = '0.2.0'
3
+ end
@@ -1,2 +1,3 @@
1
+ require 'mongoid_rateable/version'
1
2
  require 'mongoid_rateable/rateable'
2
3
  require 'mongoid_rateable/rating'
@@ -5,11 +5,11 @@
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = "mongoid_rateable"
8
- s.version = "0.1.7"
8
+ s.version = "0.2.0"
9
9
 
10
10
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
11
  s.authors = ["Peter Savichev (proton)"]
12
- s.date = "2012-02-01"
12
+ s.date = "2012-08-02"
13
13
  s.description = "Provides fields and methods for the rating manipulation on Mongoid documents."
14
14
  s.email = "psavichev@gmail.com"
15
15
  s.extra_rdoc_files = [
@@ -30,6 +30,7 @@ Gem::Specification.new do |s|
30
30
  "lib/mongoid_rateable.rb",
31
31
  "lib/mongoid_rateable/rateable.rb",
32
32
  "lib/mongoid_rateable/rating.rb",
33
+ "lib/mongoid_rateable/version.rb",
33
34
  "mongoid_rateable.gemspec",
34
35
  "spec/models/article.rb",
35
36
  "spec/models/post.rb",
@@ -40,25 +41,51 @@ Gem::Specification.new do |s|
40
41
  s.homepage = "http://github.com/proton/mongoid_rateable"
41
42
  s.licenses = ["MIT"]
42
43
  s.require_paths = ["lib"]
43
- s.rubygems_version = "1.8.10"
44
+ s.rubygems_version = "1.8.18"
44
45
  s.summary = "Rating functionality for Mongoid documents"
45
46
 
46
47
  if s.respond_to? :specification_version then
47
48
  s.specification_version = 3
48
49
 
49
50
  if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
50
- s.add_runtime_dependency(%q<bson_ext>, [">= 0"])
51
- s.add_runtime_dependency(%q<mongoid>, [">= 0"])
52
- s.add_development_dependency(%q<bundler>, ["~> 1.0.0"])
51
+ s.add_runtime_dependency(%q<mongoid_rateable>, [">= 0"])
52
+ s.add_runtime_dependency(%q<mongoid>, [">= 3.0"])
53
+ s.add_development_dependency(%q<database_cleaner>, [">= 0"])
54
+ s.add_development_dependency(%q<bundler>, [">= 0"])
55
+ s.add_development_dependency(%q<jeweler>, ["~> 1.6.2"])
56
+ s.add_development_dependency(%q<simplecov>, [">= 0.4.0"])
57
+ s.add_development_dependency(%q<rdoc>, [">= 0"])
58
+ s.add_development_dependency(%q<rspec>, [">= 2.0.0"])
59
+ s.add_development_dependency(%q<database_cleaner>, [">= 0"])
60
+ s.add_development_dependency(%q<bundler>, [">= 0"])
61
+ s.add_development_dependency(%q<jeweler>, ["~> 1.6.2"])
62
+ s.add_development_dependency(%q<simplecov>, [">= 0.4.0"])
63
+ s.add_development_dependency(%q<rdoc>, [">= 0"])
64
+ s.add_development_dependency(%q<rspec>, [">= 2.0.0"])
65
+ s.add_development_dependency(%q<database_cleaner>, [">= 0"])
66
+ s.add_development_dependency(%q<bundler>, [">= 0"])
53
67
  s.add_development_dependency(%q<jeweler>, ["~> 1.6.2"])
54
68
  s.add_development_dependency(%q<simplecov>, [">= 0.4.0"])
55
69
  s.add_development_dependency(%q<rdoc>, [">= 0"])
56
70
  s.add_development_dependency(%q<rspec>, [">= 2.0.0"])
57
71
  s.add_development_dependency(%q<database_cleaner>, [">= 0"])
58
72
  else
59
- s.add_dependency(%q<bson_ext>, [">= 0"])
60
- s.add_dependency(%q<mongoid>, [">= 0"])
61
- s.add_dependency(%q<bundler>, ["~> 1.0.0"])
73
+ s.add_dependency(%q<mongoid_rateable>, [">= 0"])
74
+ s.add_dependency(%q<mongoid>, [">= 3.0"])
75
+ s.add_dependency(%q<database_cleaner>, [">= 0"])
76
+ s.add_dependency(%q<bundler>, [">= 0"])
77
+ s.add_dependency(%q<jeweler>, ["~> 1.6.2"])
78
+ s.add_dependency(%q<simplecov>, [">= 0.4.0"])
79
+ s.add_dependency(%q<rdoc>, [">= 0"])
80
+ s.add_dependency(%q<rspec>, [">= 2.0.0"])
81
+ s.add_dependency(%q<database_cleaner>, [">= 0"])
82
+ s.add_dependency(%q<bundler>, [">= 0"])
83
+ s.add_dependency(%q<jeweler>, ["~> 1.6.2"])
84
+ s.add_dependency(%q<simplecov>, [">= 0.4.0"])
85
+ s.add_dependency(%q<rdoc>, [">= 0"])
86
+ s.add_dependency(%q<rspec>, [">= 2.0.0"])
87
+ s.add_dependency(%q<database_cleaner>, [">= 0"])
88
+ s.add_dependency(%q<bundler>, [">= 0"])
62
89
  s.add_dependency(%q<jeweler>, ["~> 1.6.2"])
63
90
  s.add_dependency(%q<simplecov>, [">= 0.4.0"])
64
91
  s.add_dependency(%q<rdoc>, [">= 0"])
@@ -66,9 +93,22 @@ Gem::Specification.new do |s|
66
93
  s.add_dependency(%q<database_cleaner>, [">= 0"])
67
94
  end
68
95
  else
69
- s.add_dependency(%q<bson_ext>, [">= 0"])
70
- s.add_dependency(%q<mongoid>, [">= 0"])
71
- s.add_dependency(%q<bundler>, ["~> 1.0.0"])
96
+ s.add_dependency(%q<mongoid_rateable>, [">= 0"])
97
+ s.add_dependency(%q<mongoid>, [">= 3.0"])
98
+ s.add_dependency(%q<database_cleaner>, [">= 0"])
99
+ s.add_dependency(%q<bundler>, [">= 0"])
100
+ s.add_dependency(%q<jeweler>, ["~> 1.6.2"])
101
+ s.add_dependency(%q<simplecov>, [">= 0.4.0"])
102
+ s.add_dependency(%q<rdoc>, [">= 0"])
103
+ s.add_dependency(%q<rspec>, [">= 2.0.0"])
104
+ s.add_dependency(%q<database_cleaner>, [">= 0"])
105
+ s.add_dependency(%q<bundler>, [">= 0"])
106
+ s.add_dependency(%q<jeweler>, ["~> 1.6.2"])
107
+ s.add_dependency(%q<simplecov>, [">= 0.4.0"])
108
+ s.add_dependency(%q<rdoc>, [">= 0"])
109
+ s.add_dependency(%q<rspec>, [">= 2.0.0"])
110
+ s.add_dependency(%q<database_cleaner>, [">= 0"])
111
+ s.add_dependency(%q<bundler>, [">= 0"])
72
112
  s.add_dependency(%q<jeweler>, ["~> 1.6.2"])
73
113
  s.add_dependency(%q<simplecov>, [">= 0.4.0"])
74
114
  s.add_dependency(%q<rdoc>, [">= 0"])
@@ -126,7 +126,7 @@ describe Post do
126
126
 
127
127
  it "should calculate the average rate if the result is zero" do
128
128
  @post.rate -1, @sally
129
- @post.rating.should eql 0.0
129
+ @post.rating.should eq 0.0
130
130
  end
131
131
  end
132
132
  end
@@ -184,7 +184,7 @@ describe Post do
184
184
  end
185
185
 
186
186
  describe "#rating" do
187
- specify { @finded_post.rating.should eql -1.0 }
187
+ specify { @finded_post.rating.should eq -1.0 }
188
188
  end
189
189
  end
190
190
 
@@ -222,7 +222,7 @@ describe Post do
222
222
  end
223
223
 
224
224
  it "should have #rating equal 2.0" do
225
- @finded_post.rating.should eql 2.0
225
+ @finded_post.rating.should eq 2.0
226
226
  end
227
227
 
228
228
  describe "#unrate_and_save" do
@@ -258,7 +258,7 @@ describe Post do
258
258
  end
259
259
 
260
260
  it "should have #rating equal -10.0" do
261
- @finded_post.rating.should eql -10.0
261
+ @finded_post.rating.should eq -10.0
262
262
  end
263
263
  end
264
264
  end
data/spec/spec_helper.rb CHANGED
@@ -13,7 +13,9 @@ SimpleCov.start
13
13
 
14
14
  Dir["#{MODELS}/*.rb"].each { |f| require f }
15
15
 
16
- Mongoid.config.master = Mongo::Connection.new.db("mongoid_rateable_test")
16
+ Mongoid.configure do |config|
17
+ config.connect_to "mongoid_rateable_test"
18
+ end
17
19
  Mongoid.logger = Logger.new($stdout)
18
20
 
19
21
  DatabaseCleaner.orm = "mongoid"
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: mongoid_rateable
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.7
4
+ version: 0.2.0
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: 2012-02-01 00:00:00.000000000 Z
12
+ date: 2012-08-02 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
- name: bson_ext
16
- requirement: &74800700 !ruby/object:Gem::Requirement
15
+ name: mongoid_rateable
16
+ requirement: !ruby/object:Gem::Requirement
17
17
  none: false
18
18
  requirements:
19
19
  - - ! '>='
@@ -21,32 +21,159 @@ dependencies:
21
21
  version: '0'
22
22
  type: :runtime
23
23
  prerelease: false
24
- version_requirements: *74800700
24
+ version_requirements: !ruby/object:Gem::Requirement
25
+ none: false
26
+ requirements:
27
+ - - ! '>='
28
+ - !ruby/object:Gem::Version
29
+ version: '0'
25
30
  - !ruby/object:Gem::Dependency
26
31
  name: mongoid
27
- requirement: &74800110 !ruby/object:Gem::Requirement
32
+ requirement: !ruby/object:Gem::Requirement
28
33
  none: false
29
34
  requirements:
30
35
  - - ! '>='
31
36
  - !ruby/object:Gem::Version
32
- version: '0'
37
+ version: '3.0'
33
38
  type: :runtime
34
39
  prerelease: false
35
- version_requirements: *74800110
40
+ version_requirements: !ruby/object:Gem::Requirement
41
+ none: false
42
+ requirements:
43
+ - - ! '>='
44
+ - !ruby/object:Gem::Version
45
+ version: '3.0'
46
+ - !ruby/object:Gem::Dependency
47
+ name: database_cleaner
48
+ requirement: !ruby/object:Gem::Requirement
49
+ none: false
50
+ requirements:
51
+ - - ! '>='
52
+ - !ruby/object:Gem::Version
53
+ version: '0'
54
+ type: :development
55
+ prerelease: false
56
+ version_requirements: !ruby/object:Gem::Requirement
57
+ none: false
58
+ requirements:
59
+ - - ! '>='
60
+ - !ruby/object:Gem::Version
61
+ version: '0'
36
62
  - !ruby/object:Gem::Dependency
37
63
  name: bundler
38
- requirement: &74799410 !ruby/object:Gem::Requirement
64
+ requirement: !ruby/object:Gem::Requirement
65
+ none: false
66
+ requirements:
67
+ - - ! '>='
68
+ - !ruby/object:Gem::Version
69
+ version: '0'
70
+ type: :development
71
+ prerelease: false
72
+ version_requirements: !ruby/object:Gem::Requirement
73
+ none: false
74
+ requirements:
75
+ - - ! '>='
76
+ - !ruby/object:Gem::Version
77
+ version: '0'
78
+ - !ruby/object:Gem::Dependency
79
+ name: jeweler
80
+ requirement: !ruby/object:Gem::Requirement
81
+ none: false
82
+ requirements:
83
+ - - ~>
84
+ - !ruby/object:Gem::Version
85
+ version: 1.6.2
86
+ type: :development
87
+ prerelease: false
88
+ version_requirements: !ruby/object:Gem::Requirement
39
89
  none: false
40
90
  requirements:
41
91
  - - ~>
42
92
  - !ruby/object:Gem::Version
43
- version: 1.0.0
93
+ version: 1.6.2
94
+ - !ruby/object:Gem::Dependency
95
+ name: simplecov
96
+ requirement: !ruby/object:Gem::Requirement
97
+ none: false
98
+ requirements:
99
+ - - ! '>='
100
+ - !ruby/object:Gem::Version
101
+ version: 0.4.0
102
+ type: :development
103
+ prerelease: false
104
+ version_requirements: !ruby/object:Gem::Requirement
105
+ none: false
106
+ requirements:
107
+ - - ! '>='
108
+ - !ruby/object:Gem::Version
109
+ version: 0.4.0
110
+ - !ruby/object:Gem::Dependency
111
+ name: rdoc
112
+ requirement: !ruby/object:Gem::Requirement
113
+ none: false
114
+ requirements:
115
+ - - ! '>='
116
+ - !ruby/object:Gem::Version
117
+ version: '0'
118
+ type: :development
119
+ prerelease: false
120
+ version_requirements: !ruby/object:Gem::Requirement
121
+ none: false
122
+ requirements:
123
+ - - ! '>='
124
+ - !ruby/object:Gem::Version
125
+ version: '0'
126
+ - !ruby/object:Gem::Dependency
127
+ name: rspec
128
+ requirement: !ruby/object:Gem::Requirement
129
+ none: false
130
+ requirements:
131
+ - - ! '>='
132
+ - !ruby/object:Gem::Version
133
+ version: 2.0.0
134
+ type: :development
135
+ prerelease: false
136
+ version_requirements: !ruby/object:Gem::Requirement
137
+ none: false
138
+ requirements:
139
+ - - ! '>='
140
+ - !ruby/object:Gem::Version
141
+ version: 2.0.0
142
+ - !ruby/object:Gem::Dependency
143
+ name: database_cleaner
144
+ requirement: !ruby/object:Gem::Requirement
145
+ none: false
146
+ requirements:
147
+ - - ! '>='
148
+ - !ruby/object:Gem::Version
149
+ version: '0'
44
150
  type: :development
45
151
  prerelease: false
46
- version_requirements: *74799410
152
+ version_requirements: !ruby/object:Gem::Requirement
153
+ none: false
154
+ requirements:
155
+ - - ! '>='
156
+ - !ruby/object:Gem::Version
157
+ version: '0'
158
+ - !ruby/object:Gem::Dependency
159
+ name: bundler
160
+ requirement: !ruby/object:Gem::Requirement
161
+ none: false
162
+ requirements:
163
+ - - ! '>='
164
+ - !ruby/object:Gem::Version
165
+ version: '0'
166
+ type: :development
167
+ prerelease: false
168
+ version_requirements: !ruby/object:Gem::Requirement
169
+ none: false
170
+ requirements:
171
+ - - ! '>='
172
+ - !ruby/object:Gem::Version
173
+ version: '0'
47
174
  - !ruby/object:Gem::Dependency
48
175
  name: jeweler
49
- requirement: &74798460 !ruby/object:Gem::Requirement
176
+ requirement: !ruby/object:Gem::Requirement
50
177
  none: false
51
178
  requirements:
52
179
  - - ~>
@@ -54,10 +181,15 @@ dependencies:
54
181
  version: 1.6.2
55
182
  type: :development
56
183
  prerelease: false
57
- version_requirements: *74798460
184
+ version_requirements: !ruby/object:Gem::Requirement
185
+ none: false
186
+ requirements:
187
+ - - ~>
188
+ - !ruby/object:Gem::Version
189
+ version: 1.6.2
58
190
  - !ruby/object:Gem::Dependency
59
191
  name: simplecov
60
- requirement: &74613850 !ruby/object:Gem::Requirement
192
+ requirement: !ruby/object:Gem::Requirement
61
193
  none: false
62
194
  requirements:
63
195
  - - ! '>='
@@ -65,10 +197,15 @@ dependencies:
65
197
  version: 0.4.0
66
198
  type: :development
67
199
  prerelease: false
68
- version_requirements: *74613850
200
+ version_requirements: !ruby/object:Gem::Requirement
201
+ none: false
202
+ requirements:
203
+ - - ! '>='
204
+ - !ruby/object:Gem::Version
205
+ version: 0.4.0
69
206
  - !ruby/object:Gem::Dependency
70
207
  name: rdoc
71
- requirement: &74612950 !ruby/object:Gem::Requirement
208
+ requirement: !ruby/object:Gem::Requirement
72
209
  none: false
73
210
  requirements:
74
211
  - - ! '>='
@@ -76,10 +213,15 @@ dependencies:
76
213
  version: '0'
77
214
  type: :development
78
215
  prerelease: false
79
- version_requirements: *74612950
216
+ version_requirements: !ruby/object:Gem::Requirement
217
+ none: false
218
+ requirements:
219
+ - - ! '>='
220
+ - !ruby/object:Gem::Version
221
+ version: '0'
80
222
  - !ruby/object:Gem::Dependency
81
223
  name: rspec
82
- requirement: &74612350 !ruby/object:Gem::Requirement
224
+ requirement: !ruby/object:Gem::Requirement
83
225
  none: false
84
226
  requirements:
85
227
  - - ! '>='
@@ -87,18 +229,124 @@ dependencies:
87
229
  version: 2.0.0
88
230
  type: :development
89
231
  prerelease: false
90
- version_requirements: *74612350
232
+ version_requirements: !ruby/object:Gem::Requirement
233
+ none: false
234
+ requirements:
235
+ - - ! '>='
236
+ - !ruby/object:Gem::Version
237
+ version: 2.0.0
91
238
  - !ruby/object:Gem::Dependency
92
239
  name: database_cleaner
93
- requirement: &74612100 !ruby/object:Gem::Requirement
240
+ requirement: !ruby/object:Gem::Requirement
241
+ none: false
242
+ requirements:
243
+ - - ! '>='
244
+ - !ruby/object:Gem::Version
245
+ version: '0'
246
+ type: :development
247
+ prerelease: false
248
+ version_requirements: !ruby/object:Gem::Requirement
249
+ none: false
250
+ requirements:
251
+ - - ! '>='
252
+ - !ruby/object:Gem::Version
253
+ version: '0'
254
+ - !ruby/object:Gem::Dependency
255
+ name: bundler
256
+ requirement: !ruby/object:Gem::Requirement
257
+ none: false
258
+ requirements:
259
+ - - ! '>='
260
+ - !ruby/object:Gem::Version
261
+ version: '0'
262
+ type: :development
263
+ prerelease: false
264
+ version_requirements: !ruby/object:Gem::Requirement
94
265
  none: false
95
266
  requirements:
96
267
  - - ! '>='
97
268
  - !ruby/object:Gem::Version
98
269
  version: '0'
270
+ - !ruby/object:Gem::Dependency
271
+ name: jeweler
272
+ requirement: !ruby/object:Gem::Requirement
273
+ none: false
274
+ requirements:
275
+ - - ~>
276
+ - !ruby/object:Gem::Version
277
+ version: 1.6.2
99
278
  type: :development
100
279
  prerelease: false
101
- version_requirements: *74612100
280
+ version_requirements: !ruby/object:Gem::Requirement
281
+ none: false
282
+ requirements:
283
+ - - ~>
284
+ - !ruby/object:Gem::Version
285
+ version: 1.6.2
286
+ - !ruby/object:Gem::Dependency
287
+ name: simplecov
288
+ requirement: !ruby/object:Gem::Requirement
289
+ none: false
290
+ requirements:
291
+ - - ! '>='
292
+ - !ruby/object:Gem::Version
293
+ version: 0.4.0
294
+ type: :development
295
+ prerelease: false
296
+ version_requirements: !ruby/object:Gem::Requirement
297
+ none: false
298
+ requirements:
299
+ - - ! '>='
300
+ - !ruby/object:Gem::Version
301
+ version: 0.4.0
302
+ - !ruby/object:Gem::Dependency
303
+ name: rdoc
304
+ requirement: !ruby/object:Gem::Requirement
305
+ none: false
306
+ requirements:
307
+ - - ! '>='
308
+ - !ruby/object:Gem::Version
309
+ version: '0'
310
+ type: :development
311
+ prerelease: false
312
+ version_requirements: !ruby/object:Gem::Requirement
313
+ none: false
314
+ requirements:
315
+ - - ! '>='
316
+ - !ruby/object:Gem::Version
317
+ version: '0'
318
+ - !ruby/object:Gem::Dependency
319
+ name: rspec
320
+ requirement: !ruby/object:Gem::Requirement
321
+ none: false
322
+ requirements:
323
+ - - ! '>='
324
+ - !ruby/object:Gem::Version
325
+ version: 2.0.0
326
+ type: :development
327
+ prerelease: false
328
+ version_requirements: !ruby/object:Gem::Requirement
329
+ none: false
330
+ requirements:
331
+ - - ! '>='
332
+ - !ruby/object:Gem::Version
333
+ version: 2.0.0
334
+ - !ruby/object:Gem::Dependency
335
+ name: database_cleaner
336
+ requirement: !ruby/object:Gem::Requirement
337
+ none: false
338
+ requirements:
339
+ - - ! '>='
340
+ - !ruby/object:Gem::Version
341
+ version: '0'
342
+ type: :development
343
+ prerelease: false
344
+ version_requirements: !ruby/object:Gem::Requirement
345
+ none: false
346
+ requirements:
347
+ - - ! '>='
348
+ - !ruby/object:Gem::Version
349
+ version: '0'
102
350
  description: Provides fields and methods for the rating manipulation on Mongoid documents.
103
351
  email: psavichev@gmail.com
104
352
  executables: []
@@ -120,6 +368,7 @@ files:
120
368
  - lib/mongoid_rateable.rb
121
369
  - lib/mongoid_rateable/rateable.rb
122
370
  - lib/mongoid_rateable/rating.rb
371
+ - lib/mongoid_rateable/version.rb
123
372
  - mongoid_rateable.gemspec
124
373
  - spec/models/article.rb
125
374
  - spec/models/post.rb
@@ -141,7 +390,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
141
390
  version: '0'
142
391
  segments:
143
392
  - 0
144
- hash: -395726893
393
+ hash: -780149155
145
394
  required_rubygems_version: !ruby/object:Gem::Requirement
146
395
  none: false
147
396
  requirements:
@@ -150,7 +399,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
150
399
  version: '0'
151
400
  requirements: []
152
401
  rubyforge_project:
153
- rubygems_version: 1.8.10
402
+ rubygems_version: 1.8.18
154
403
  signing_key:
155
404
  specification_version: 3
156
405
  summary: Rating functionality for Mongoid documents