mongoid-letsrate 1.0.13 → 1.0.14
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 +4 -4
- data/.gitignore +1 -0
- data/Gemfile +0 -2
- data/Gemfile.lock +51 -52
- data/lib/mongoid/letsrate/model.rb +7 -0
- data/lib/mongoid/letsrate/version.rb +1 -1
- data/spec/letsrate_spec.rb +17 -1
- metadata +37 -35
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA1:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 15e0364db64cb2444b376275ef14f1d1c24ac6e2
|
|
4
|
+
data.tar.gz: 240fd5b76501813bd6cde26411bd793e2977ae28
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 0163ff14591f75bf48a72774922a9a0c8489dd5d90b4d3516b57f5c5d67ff69f316196f2a2e30955224ebda9759b667ae604b6e62b19611861091fd328ebe554
|
|
7
|
+
data.tar.gz: 8fde05c198c4a68665881469ece2b84a2b9777cddb8fdc4df93a8e438c1d3e73dca7dfb99fd51b448c7586025dcf1fb555f224526554b2b636e96fc55dd8289a
|
data/.gitignore
CHANGED
data/Gemfile
CHANGED
data/Gemfile.lock
CHANGED
|
@@ -1,93 +1,92 @@
|
|
|
1
|
-
GIT
|
|
2
|
-
remote: git://github.com/mongoid/mongoid.git
|
|
3
|
-
revision: c8af8d0836b086cebc4a609037a97747e9f3359b
|
|
4
|
-
specs:
|
|
5
|
-
mongoid (4.0.0.beta1)
|
|
6
|
-
activemodel (>= 4.0.0)
|
|
7
|
-
moped (~> 2.0.beta6)
|
|
8
|
-
origin (~> 2.1)
|
|
9
|
-
tzinfo (>= 0.3.37)
|
|
10
|
-
|
|
11
1
|
PATH
|
|
12
2
|
remote: .
|
|
13
3
|
specs:
|
|
14
|
-
mongoid-letsrate (1.0.
|
|
4
|
+
mongoid-letsrate (1.0.14)
|
|
15
5
|
|
|
16
6
|
GEM
|
|
17
7
|
remote: http://rubygems.org/
|
|
18
8
|
specs:
|
|
19
|
-
actionpack (
|
|
20
|
-
|
|
21
|
-
|
|
9
|
+
actionpack (3.2.17)
|
|
10
|
+
activemodel (= 3.2.17)
|
|
11
|
+
activesupport (= 3.2.17)
|
|
12
|
+
builder (~> 3.0.0)
|
|
22
13
|
erubis (~> 2.7.0)
|
|
23
|
-
|
|
24
|
-
rack
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
14
|
+
journey (~> 1.0.4)
|
|
15
|
+
rack (~> 1.4.5)
|
|
16
|
+
rack-cache (~> 1.2)
|
|
17
|
+
rack-test (~> 0.6.1)
|
|
18
|
+
sprockets (~> 2.2.1)
|
|
19
|
+
activemodel (3.2.17)
|
|
20
|
+
activesupport (= 3.2.17)
|
|
21
|
+
builder (~> 3.0.0)
|
|
22
|
+
activesupport (3.2.17)
|
|
29
23
|
i18n (~> 0.6, >= 0.6.4)
|
|
30
|
-
|
|
31
|
-
multi_json (~> 1.3)
|
|
32
|
-
thread_safe (~> 0.1)
|
|
33
|
-
tzinfo (~> 0.3.37)
|
|
34
|
-
atomic (1.1.14)
|
|
35
|
-
atomic (1.1.14-java)
|
|
24
|
+
multi_json (~> 1.0)
|
|
36
25
|
bson (2.2.1)
|
|
37
|
-
|
|
38
|
-
builder (3.1.4)
|
|
39
|
-
connection_pool (1.2.0)
|
|
26
|
+
builder (3.0.4)
|
|
40
27
|
diff-lcs (1.2.5)
|
|
41
28
|
erubis (2.7.0)
|
|
29
|
+
hike (1.2.3)
|
|
42
30
|
i18n (0.6.9)
|
|
43
|
-
|
|
31
|
+
journey (1.0.4)
|
|
32
|
+
jquery-rails (3.1.0)
|
|
44
33
|
railties (>= 3.0, < 5.0)
|
|
45
34
|
thor (>= 0.14, < 2.0)
|
|
46
|
-
|
|
47
|
-
mongoid
|
|
48
|
-
|
|
35
|
+
json (1.8.1)
|
|
36
|
+
mongoid (3.1.6)
|
|
37
|
+
activemodel (~> 3.2)
|
|
38
|
+
moped (~> 1.4)
|
|
39
|
+
origin (~> 1.0)
|
|
40
|
+
tzinfo (~> 0.3.29)
|
|
41
|
+
mongoid-rspec (1.11.0)
|
|
42
|
+
mongoid (~> 3.1.6)
|
|
49
43
|
rake
|
|
50
44
|
rspec (>= 2.14)
|
|
51
|
-
moped (
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
45
|
+
moped (1.5.2)
|
|
46
|
+
multi_json (1.9.0)
|
|
47
|
+
origin (1.1.0)
|
|
48
|
+
rack (1.4.5)
|
|
49
|
+
rack-cache (1.2)
|
|
50
|
+
rack (>= 0.4)
|
|
51
|
+
rack-ssl (1.3.3)
|
|
52
|
+
rack
|
|
59
53
|
rack-test (0.6.2)
|
|
60
54
|
rack (>= 1.0)
|
|
61
|
-
railties (
|
|
62
|
-
actionpack (=
|
|
63
|
-
activesupport (=
|
|
55
|
+
railties (3.2.17)
|
|
56
|
+
actionpack (= 3.2.17)
|
|
57
|
+
activesupport (= 3.2.17)
|
|
58
|
+
rack-ssl (~> 1.3.2)
|
|
64
59
|
rake (>= 0.8.7)
|
|
65
|
-
|
|
60
|
+
rdoc (~> 3.4)
|
|
61
|
+
thor (>= 0.14.6, < 2.0)
|
|
66
62
|
rake (10.1.1)
|
|
63
|
+
rdoc (3.12.2)
|
|
64
|
+
json (~> 1.4)
|
|
67
65
|
rspec (2.14.1)
|
|
68
66
|
rspec-core (~> 2.14.0)
|
|
69
67
|
rspec-expectations (~> 2.14.0)
|
|
70
68
|
rspec-mocks (~> 2.14.0)
|
|
71
|
-
rspec-core (2.14.
|
|
69
|
+
rspec-core (2.14.8)
|
|
72
70
|
rspec-expectations (2.14.5)
|
|
73
71
|
diff-lcs (>= 1.1.3, < 2.0)
|
|
74
72
|
rspec-mocks (2.14.6)
|
|
73
|
+
sprockets (2.2.2)
|
|
74
|
+
hike (~> 1.2)
|
|
75
|
+
multi_json (~> 1.0)
|
|
76
|
+
rack (~> 1.0)
|
|
77
|
+
tilt (~> 1.1, != 1.3.0)
|
|
75
78
|
thor (0.18.1)
|
|
76
|
-
|
|
77
|
-
atomic
|
|
78
|
-
thread_safe (0.1.3-java)
|
|
79
|
-
atomic
|
|
79
|
+
tilt (1.4.1)
|
|
80
80
|
tzinfo (0.3.38)
|
|
81
81
|
|
|
82
82
|
PLATFORMS
|
|
83
|
-
java
|
|
84
83
|
ruby
|
|
85
84
|
|
|
86
85
|
DEPENDENCIES
|
|
87
86
|
activesupport
|
|
88
87
|
bson
|
|
89
88
|
jquery-rails
|
|
90
|
-
mongoid
|
|
89
|
+
mongoid
|
|
91
90
|
mongoid-letsrate!
|
|
92
91
|
mongoid-rspec
|
|
93
92
|
rspec
|
|
@@ -17,15 +17,22 @@ module Mongoid
|
|
|
17
17
|
end
|
|
18
18
|
end
|
|
19
19
|
|
|
20
|
+
# The average rating
|
|
21
|
+
def rating
|
|
22
|
+
average ? average.avg : 0
|
|
23
|
+
end
|
|
24
|
+
|
|
20
25
|
def update_rate_average(stars)
|
|
21
26
|
if average.nil?
|
|
22
27
|
RatingCache.create! do |avg|
|
|
28
|
+
puts "About to create average"
|
|
23
29
|
avg.cacheable_id = self.id
|
|
24
30
|
avg.cacheable_type = self.class.name
|
|
25
31
|
avg.avg = stars
|
|
26
32
|
avg.qty = 1
|
|
27
33
|
end
|
|
28
34
|
else
|
|
35
|
+
puts "Found average"
|
|
29
36
|
a = average
|
|
30
37
|
all_stars = rates.map &:stars
|
|
31
38
|
a.avg = all_stars.inject { |sum, value| sum + value } / all_stars.size
|
data/spec/letsrate_spec.rb
CHANGED
|
@@ -37,7 +37,7 @@ describe Mongoid::Letsrate do
|
|
|
37
37
|
end
|
|
38
38
|
end
|
|
39
39
|
|
|
40
|
-
describe 'Product
|
|
40
|
+
describe 'Product rated by user' do
|
|
41
41
|
it 'rates should be of type Mongoid::Relations::Targets::Enumerable' do
|
|
42
42
|
product.rates.class.should eql Mongoid::Relations::Targets::Enumerable
|
|
43
43
|
end
|
|
@@ -56,5 +56,21 @@ describe Mongoid::Letsrate do
|
|
|
56
56
|
product.rate 5, second_user
|
|
57
57
|
product.rates.count.should eql 2
|
|
58
58
|
end
|
|
59
|
+
|
|
60
|
+
it 'average rating create' do
|
|
61
|
+
rating_cache = product.rate 2, first_user
|
|
62
|
+
rating_cache.should_not be_nil
|
|
63
|
+
end
|
|
64
|
+
|
|
65
|
+
it 'average rating create' do
|
|
66
|
+
rating_cache = product.rate 2, first_user
|
|
67
|
+
rating_cache.avg.should eql 2.0
|
|
68
|
+
end
|
|
69
|
+
|
|
70
|
+
it 'average rating should be 2.5 after rating with 2 and 3 stars' do
|
|
71
|
+
cacheable = product.rate(2, first_user).cacheable
|
|
72
|
+
cacheable.rate 3, second_user
|
|
73
|
+
cacheable.rating.should eql 2.5
|
|
74
|
+
end
|
|
59
75
|
end
|
|
60
76
|
end
|
metadata
CHANGED
|
@@ -1,81 +1,82 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: mongoid-letsrate
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 1.0.
|
|
4
|
+
version: 1.0.14
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Michael Johann
|
|
8
8
|
- Murat GUZEL
|
|
9
|
-
autorequire:
|
|
9
|
+
autorequire:
|
|
10
10
|
bindir: bin
|
|
11
11
|
cert_chain: []
|
|
12
|
-
date: 2014-03-
|
|
12
|
+
date: 2014-03-11 00:00:00.000000000 Z
|
|
13
13
|
dependencies:
|
|
14
14
|
- !ruby/object:Gem::Dependency
|
|
15
15
|
name: rspec
|
|
16
|
-
version_requirements: !ruby/object:Gem::Requirement
|
|
17
|
-
requirements:
|
|
18
|
-
- - '>='
|
|
19
|
-
- !ruby/object:Gem::Version
|
|
20
|
-
version: '0'
|
|
21
16
|
requirement: !ruby/object:Gem::Requirement
|
|
22
17
|
requirements:
|
|
23
|
-
- -
|
|
18
|
+
- - ">="
|
|
24
19
|
- !ruby/object:Gem::Version
|
|
25
20
|
version: '0'
|
|
26
|
-
prerelease: false
|
|
27
21
|
type: :development
|
|
28
|
-
|
|
29
|
-
name: mongoid-rspec
|
|
22
|
+
prerelease: false
|
|
30
23
|
version_requirements: !ruby/object:Gem::Requirement
|
|
31
24
|
requirements:
|
|
32
|
-
- -
|
|
25
|
+
- - ">="
|
|
33
26
|
- !ruby/object:Gem::Version
|
|
34
27
|
version: '0'
|
|
28
|
+
- !ruby/object:Gem::Dependency
|
|
29
|
+
name: mongoid-rspec
|
|
35
30
|
requirement: !ruby/object:Gem::Requirement
|
|
36
31
|
requirements:
|
|
37
|
-
- -
|
|
32
|
+
- - ">="
|
|
38
33
|
- !ruby/object:Gem::Version
|
|
39
34
|
version: '0'
|
|
40
|
-
prerelease: false
|
|
41
35
|
type: :development
|
|
42
|
-
|
|
43
|
-
name: mongoid
|
|
36
|
+
prerelease: false
|
|
44
37
|
version_requirements: !ruby/object:Gem::Requirement
|
|
45
38
|
requirements:
|
|
46
|
-
- -
|
|
39
|
+
- - ">="
|
|
47
40
|
- !ruby/object:Gem::Version
|
|
48
41
|
version: '0'
|
|
42
|
+
- !ruby/object:Gem::Dependency
|
|
43
|
+
name: mongoid
|
|
49
44
|
requirement: !ruby/object:Gem::Requirement
|
|
50
45
|
requirements:
|
|
51
|
-
- -
|
|
46
|
+
- - ">="
|
|
52
47
|
- !ruby/object:Gem::Version
|
|
53
48
|
version: '0'
|
|
54
|
-
prerelease: false
|
|
55
49
|
type: :development
|
|
56
|
-
|
|
57
|
-
name: activesupport
|
|
50
|
+
prerelease: false
|
|
58
51
|
version_requirements: !ruby/object:Gem::Requirement
|
|
59
52
|
requirements:
|
|
60
|
-
- -
|
|
53
|
+
- - ">="
|
|
61
54
|
- !ruby/object:Gem::Version
|
|
62
55
|
version: '0'
|
|
56
|
+
- !ruby/object:Gem::Dependency
|
|
57
|
+
name: activesupport
|
|
63
58
|
requirement: !ruby/object:Gem::Requirement
|
|
64
59
|
requirements:
|
|
65
|
-
- -
|
|
60
|
+
- - ">="
|
|
66
61
|
- !ruby/object:Gem::Version
|
|
67
62
|
version: '0'
|
|
68
|
-
prerelease: false
|
|
69
63
|
type: :development
|
|
70
|
-
|
|
64
|
+
prerelease: false
|
|
65
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
66
|
+
requirements:
|
|
67
|
+
- - ">="
|
|
68
|
+
- !ruby/object:Gem::Version
|
|
69
|
+
version: '0'
|
|
70
|
+
description: Provides the best solution to add rating functionality to your models
|
|
71
|
+
using mongoid.
|
|
71
72
|
email:
|
|
72
73
|
- mjohann@rails-experts.com
|
|
73
74
|
executables: []
|
|
74
75
|
extensions: []
|
|
75
76
|
extra_rdoc_files: []
|
|
76
77
|
files:
|
|
77
|
-
- .gitignore
|
|
78
|
-
- .travis.yml
|
|
78
|
+
- ".gitignore"
|
|
79
|
+
- ".travis.yml"
|
|
79
80
|
- Gemfile
|
|
80
81
|
- Gemfile.lock
|
|
81
82
|
- README.md
|
|
@@ -104,26 +105,27 @@ files:
|
|
|
104
105
|
homepage: http://github.com/malagant/mongoid-letsrate
|
|
105
106
|
licenses: []
|
|
106
107
|
metadata: {}
|
|
107
|
-
post_install_message:
|
|
108
|
+
post_install_message:
|
|
108
109
|
rdoc_options: []
|
|
109
110
|
require_paths:
|
|
110
111
|
- lib
|
|
111
112
|
required_ruby_version: !ruby/object:Gem::Requirement
|
|
112
113
|
requirements:
|
|
113
|
-
- -
|
|
114
|
+
- - ">="
|
|
114
115
|
- !ruby/object:Gem::Version
|
|
115
116
|
version: '0'
|
|
116
117
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
|
117
118
|
requirements:
|
|
118
|
-
- -
|
|
119
|
+
- - ">="
|
|
119
120
|
- !ruby/object:Gem::Version
|
|
120
121
|
version: '0'
|
|
121
122
|
requirements: []
|
|
122
|
-
rubyforge_project:
|
|
123
|
-
rubygems_version: 2.
|
|
124
|
-
signing_key:
|
|
123
|
+
rubyforge_project:
|
|
124
|
+
rubygems_version: 2.2.0
|
|
125
|
+
signing_key:
|
|
125
126
|
specification_version: 4
|
|
126
|
-
summary: Provides the best solution to add rating functionality to your models using
|
|
127
|
+
summary: Provides the best solution to add rating functionality to your models using
|
|
128
|
+
mongoid.
|
|
127
129
|
test_files:
|
|
128
130
|
- spec/letsrate_spec.rb
|
|
129
131
|
- spec/models/product.rb
|