solidus_reviews 1.1.1 → 1.2.0
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/.circleci/config.yml +35 -0
- data/.gitignore +1 -0
- data/Gemfile +13 -11
- data/README.md +1 -1
- data/app/decorators/controllers/solidus_reviews/spree/admin/products_controller_decorator.rb +19 -0
- data/app/decorators/helpers/solidus_reviews/spree/api/api_helpers_decorator.rb +33 -0
- data/app/decorators/models/solidus_reviews/spree/product_decorator.rb +30 -0
- data/app/decorators/models/solidus_reviews/spree/user_decorator.rb +15 -0
- data/app/models/spree/feedback_review.rb +1 -1
- data/app/models/spree/review.rb +2 -2
- data/lib/solidus_reviews.rb +1 -1
- data/lib/spree_reviews/engine.rb +0 -2
- data/solidus_reviews.gemspec +4 -4
- data/spec/controllers/{admin → spree/admin}/feedback_reviews_controller_spec.rb +0 -0
- data/spec/controllers/{admin → spree/admin}/review_settings_controller_spec.rb +0 -0
- data/spec/controllers/{admin → spree/admin}/reviews_controller_spec.rb +0 -0
- data/spec/controllers/{feedback_reviews_controller_spec.rb → spree/feedback_reviews_controller_spec.rb} +0 -0
- data/spec/controllers/{products_controller_spec.rb → spree/products_controller_spec.rb} +0 -0
- data/spec/controllers/{reviews_controller_spec.rb → spree/reviews_controller_spec.rb} +0 -0
- data/spec/spec_helper.rb +10 -25
- metadata +41 -47
- data/.travis.yml +0 -31
- data/app/controllers/spree/products_controller_decorator.rb +0 -7
- data/app/helpers/spree/api/api_helpers_decorator.rb +0 -21
- data/app/models/spree/product_decorator.rb +0 -22
- data/app/models/spree/user_decorator.rb +0 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 6fc709261f34b4979904d11cceeb17b22a57be36089f37f77dea475262506c24
|
4
|
+
data.tar.gz: 9a3b6b6f70b0867534f634426da005d312db19e21d5633bb9e5ca2e8ab6ba3ec
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 8c4eaa7f6e301a830b196bd194c897a670a8c193607fe98542890625ed6a3d19b54c7ce8b8df9678ba45bc3db114b0a358c58d053a93be0e438b4fa6354939fe
|
7
|
+
data.tar.gz: e2d8efba5a9ba5602318c40e1bcccb16291f49a68c577e76acf2db42b37e879bb9adfcbc56367b47dbfa84092964bdfe199e7aacb47b85c071c94d134c7906e4
|
@@ -0,0 +1,35 @@
|
|
1
|
+
version: 2.1
|
2
|
+
|
3
|
+
orbs:
|
4
|
+
# Always take the latest version of the orb, this allows us to
|
5
|
+
# run specs against Solidus supported versions only without the need
|
6
|
+
# to change this configuration every time a Solidus version is released
|
7
|
+
# or goes EOL.
|
8
|
+
solidusio_extensions: solidusio/extensions@volatile
|
9
|
+
|
10
|
+
jobs:
|
11
|
+
run-specs-with-postgres:
|
12
|
+
executor: solidusio_extensions/postgres
|
13
|
+
steps:
|
14
|
+
- solidusio_extensions/run-tests
|
15
|
+
run-specs-with-mysql:
|
16
|
+
executor: solidusio_extensions/mysql
|
17
|
+
steps:
|
18
|
+
- solidusio_extensions/run-tests
|
19
|
+
|
20
|
+
workflows:
|
21
|
+
"Run specs on supported Solidus versions":
|
22
|
+
jobs:
|
23
|
+
- run-specs-with-postgres
|
24
|
+
- run-specs-with-mysql
|
25
|
+
"Weekly run specs against master":
|
26
|
+
triggers:
|
27
|
+
- schedule:
|
28
|
+
cron: "0 0 * * 4" # every Thursday
|
29
|
+
filters:
|
30
|
+
branches:
|
31
|
+
only:
|
32
|
+
- master
|
33
|
+
jobs:
|
34
|
+
- run-specs-with-postgres
|
35
|
+
- run-specs-with-mysql
|
data/.gitignore
CHANGED
data/Gemfile
CHANGED
@@ -5,25 +5,27 @@ source 'https://rubygems.org'
|
|
5
5
|
branch = ENV.fetch('SOLIDUS_BRANCH', 'master')
|
6
6
|
gem 'solidus', git: 'https://github.com/solidusio/solidus.git', branch: branch
|
7
7
|
gem 'solidus_auth_devise'
|
8
|
+
|
9
|
+
# Needed to help Bundler figure out how to resolve dependencies, otherwise it takes forever to
|
10
|
+
# resolve them
|
11
|
+
if branch == 'master' || Gem::Version.new(branch[1..-1]) >= Gem::Version.new('2.10.0')
|
12
|
+
gem 'rails', '~> 6.0'
|
13
|
+
else
|
14
|
+
gem 'rails', '~> 5.0'
|
15
|
+
end
|
16
|
+
|
8
17
|
gem 'puma'
|
9
18
|
gem 'rails-controller-testing', group: :test
|
10
19
|
|
11
|
-
|
20
|
+
case ENV['DB']
|
21
|
+
when 'mysql'
|
12
22
|
gem 'mysql2', '~> 0.4.10'
|
13
|
-
|
23
|
+
when 'postgres'
|
14
24
|
gem 'pg', '~> 0.21'
|
15
25
|
end
|
16
26
|
|
17
27
|
group :development, :test do
|
18
|
-
|
19
|
-
gem 'factory_bot', '4.10.0'
|
20
|
-
else
|
21
|
-
gem 'factory_bot', '> 4.10.0'
|
22
|
-
end
|
23
|
-
|
24
|
-
gem 'pry-rails'
|
25
|
-
gem 'selenium-webdriver'
|
26
|
-
gem 'webdrivers'
|
28
|
+
gem 'factory_bot', '> 4.10.0'
|
27
29
|
end
|
28
30
|
|
29
31
|
gemspec
|
data/README.md
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
# Reviews
|
2
2
|
|
3
|
-
[](https://circleci.com/gh/solidusio-contrib/solidus_reviews)
|
4
4
|
|
5
5
|
Straightforward review/rating functionality, updated for
|
6
6
|
[Solidus](https://solidus.io). While the Gem name has changed, the module
|
@@ -0,0 +1,19 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module SolidusReviews
|
4
|
+
module Spree
|
5
|
+
module ProductsControllerDecorator
|
6
|
+
def self.prepended(base)
|
7
|
+
base.class_eval do
|
8
|
+
helper ::Spree::ReviewsHelper
|
9
|
+
end
|
10
|
+
|
11
|
+
[:avg_rating, :reviews_count].each do |attribute|
|
12
|
+
::Spree::PermittedAttributes.product_attributes << attribute
|
13
|
+
end
|
14
|
+
end
|
15
|
+
|
16
|
+
::Spree::ProductsController.prepend self
|
17
|
+
end
|
18
|
+
end
|
19
|
+
end
|
@@ -0,0 +1,33 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module SolidusReviews
|
4
|
+
module Spree
|
5
|
+
module Api
|
6
|
+
module ApiHelpersDecorator
|
7
|
+
def self.prepended(base)
|
8
|
+
base.module_eval do
|
9
|
+
@@review_attributes = [
|
10
|
+
:id, :product_id, :name, :location, :rating, :title, :review, :approved,
|
11
|
+
:created_at, :updated_at, :user_id, :ip_address, :locale, :show_identifier,
|
12
|
+
:verified_purchaser
|
13
|
+
]
|
14
|
+
|
15
|
+
@@feedback_review_attributes = [
|
16
|
+
:id, :user_id, :review_id, :rating, :comment, :created_at, :updated_at, :locale
|
17
|
+
]
|
18
|
+
|
19
|
+
def review_attributes
|
20
|
+
@@review_attributes
|
21
|
+
end
|
22
|
+
|
23
|
+
def feedback_review_attributes
|
24
|
+
@@feedback_review_attributes
|
25
|
+
end
|
26
|
+
end
|
27
|
+
end
|
28
|
+
|
29
|
+
::Spree::Api::ApiHelpers.prepend self
|
30
|
+
end
|
31
|
+
end
|
32
|
+
end
|
33
|
+
end
|
@@ -0,0 +1,30 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
module SolidusReviews
|
3
|
+
module Spree
|
4
|
+
module ProductDecorator
|
5
|
+
def self.prepended(base)
|
6
|
+
base.class_eval do
|
7
|
+
has_many :reviews
|
8
|
+
end
|
9
|
+
end
|
10
|
+
|
11
|
+
def stars
|
12
|
+
avg_rating.try(:round) || 0
|
13
|
+
end
|
14
|
+
|
15
|
+
def recalculate_rating
|
16
|
+
reviews_count = reviews.reload.default_approval_filter.count
|
17
|
+
|
18
|
+
self.reviews_count = reviews_count
|
19
|
+
if reviews_count > 0
|
20
|
+
self.avg_rating = '%.1f' % (reviews.default_approval_filter.sum(:rating).to_f / reviews_count)
|
21
|
+
else
|
22
|
+
self.avg_rating = 0
|
23
|
+
end
|
24
|
+
save
|
25
|
+
end
|
26
|
+
|
27
|
+
::Spree::Product.prepend self
|
28
|
+
end
|
29
|
+
end
|
30
|
+
end
|
@@ -0,0 +1,15 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module SolidusReviews
|
4
|
+
module Spree
|
5
|
+
module UserDecorator
|
6
|
+
def self.prepended(base)
|
7
|
+
base.class_eval do
|
8
|
+
has_many :reviews, class_name: 'Spree::Review'
|
9
|
+
end
|
10
|
+
end
|
11
|
+
|
12
|
+
::Spree.user_class.prepend self
|
13
|
+
end
|
14
|
+
end
|
15
|
+
end
|
@@ -1,7 +1,7 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
3
|
class Spree::FeedbackReview < ActiveRecord::Base
|
4
|
-
belongs_to :user, class_name: Spree.user_class.to_s
|
4
|
+
belongs_to :user, class_name: Spree.user_class.to_s, optional: true
|
5
5
|
|
6
6
|
belongs_to :review, dependent: :destroy
|
7
7
|
validates :review, presence: true
|
data/app/models/spree/review.rb
CHANGED
@@ -1,8 +1,8 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
3
|
class Spree::Review < ActiveRecord::Base
|
4
|
-
belongs_to :product, touch: true
|
5
|
-
belongs_to :user, class_name: Spree.user_class.to_s
|
4
|
+
belongs_to :product, touch: true, optional: true
|
5
|
+
belongs_to :user, class_name: Spree.user_class.to_s, optional: true
|
6
6
|
has_many :feedback_reviews
|
7
7
|
has_many :images, -> { order(:position) }, as: :viewable,
|
8
8
|
dependent: :destroy, class_name: "Spree::Image"
|
data/lib/solidus_reviews.rb
CHANGED
data/lib/spree_reviews/engine.rb
CHANGED
@@ -6,8 +6,6 @@ module SpreeReviews
|
|
6
6
|
isolate_namespace Spree
|
7
7
|
engine_name 'solidus_reviews'
|
8
8
|
|
9
|
-
config.autoload_paths += %W(#{config.root}/lib)
|
10
|
-
|
11
9
|
def self.activate
|
12
10
|
Dir.glob(File.join(File.dirname(__FILE__), '../../app/**/*_decorator*.rb')) do |c|
|
13
11
|
Rails.configuration.cache_classes ? require(c) : load(c)
|
data/solidus_reviews.gemspec
CHANGED
@@ -3,7 +3,7 @@
|
|
3
3
|
Gem::Specification.new do |s|
|
4
4
|
s.platform = Gem::Platform::RUBY
|
5
5
|
s.name = 'solidus_reviews'
|
6
|
-
s.version = '1.
|
6
|
+
s.version = '1.2.0'
|
7
7
|
s.summary = 'Basic review and ratings facility for Solidus'
|
8
8
|
s.authors = ['Solidus Contrib']
|
9
9
|
s.description = s.summary
|
@@ -19,7 +19,6 @@ Gem::Specification.new do |s|
|
|
19
19
|
|
20
20
|
s.add_dependency 'deface', '~> 1'
|
21
21
|
s.add_dependency 'solidus', ['>= 1.4', '< 3']
|
22
|
-
s.add_dependency 'solidus_auth_devise', ['>= 1.0', '< 3']
|
23
22
|
s.add_dependency 'solidus_support', '~> 0.1'
|
24
23
|
|
25
24
|
s.add_development_dependency 'capybara'
|
@@ -29,9 +28,10 @@ Gem::Specification.new do |s|
|
|
29
28
|
s.add_development_dependency 'ffaker'
|
30
29
|
s.add_development_dependency 'poltergeist'
|
31
30
|
s.add_development_dependency 'pry'
|
32
|
-
s.add_development_dependency 'rspec-rails'
|
31
|
+
s.add_development_dependency 'rspec-rails', '~> 4.0.0.beta2'
|
33
32
|
s.add_development_dependency 'rubocop', '~> 0.53.0'
|
34
33
|
s.add_development_dependency 'sass-rails'
|
34
|
+
s.add_development_dependency 'selenium-webdriver'
|
35
35
|
s.add_development_dependency 'simplecov'
|
36
|
-
s.add_development_dependency 'sqlite3'
|
36
|
+
s.add_development_dependency 'sqlite3'
|
37
37
|
end
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
data/spec/spec_helper.rb
CHANGED
@@ -1,41 +1,26 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
|
-
require
|
4
|
-
SimpleCov.start
|
3
|
+
require "simplecov"
|
4
|
+
SimpleCov.start "rails"
|
5
5
|
|
6
|
-
ENV["RAILS_ENV"]
|
6
|
+
ENV["RAILS_ENV"] ||= "test"
|
7
7
|
|
8
8
|
require File.expand_path('dummy/config/environment.rb', __dir__)
|
9
9
|
|
10
|
-
# Requires factories and other useful helpers defined in spree_core.
|
11
10
|
require "solidus_support/extension/feature_helper"
|
12
11
|
require 'spree/testing_support/controller_requests'
|
13
|
-
require '
|
12
|
+
require 'spree/testing_support/capybara_ext'
|
14
13
|
|
15
14
|
Dir[File.join(File.dirname(__FILE__), "support/**/*.rb")].each { |f| require f }
|
16
15
|
|
17
16
|
require 'solidus_reviews/factories'
|
18
17
|
|
19
18
|
RSpec.configure do |config|
|
20
|
-
config.include Spree::TestingSupport::ControllerRequests, type: :controller
|
21
|
-
|
22
19
|
config.infer_spec_type_from_file_location!
|
23
|
-
config.
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
browser_options.args << '--window-size=1440,1080'
|
30
|
-
Capybara::Selenium::Driver.new(app, browser: :chrome, options: browser_options)
|
31
|
-
end
|
32
|
-
|
33
|
-
Capybara.javascript_driver = (ENV['CAPYBARA_DRIVER'] || :selenium_chrome_headless).to_sym
|
34
|
-
|
35
|
-
if Gem.loaded_specs['solidus'].version < Gem::Version.new('2.4')
|
36
|
-
config.include VersionCake::TestHelpers, type: :controller
|
37
|
-
config.before(:each, type: :controller) do
|
38
|
-
set_request_version('', 1)
|
39
|
-
end
|
40
|
-
end
|
20
|
+
config.raise_errors_for_deprecations!
|
21
|
+
|
22
|
+
config.example_status_persistence_file_path = "./spec/examples.txt"
|
23
|
+
|
24
|
+
config.include Spree::TestingSupport::UrlHelpers
|
25
|
+
config.include Spree::TestingSupport::ControllerRequests, type: :controller
|
41
26
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: solidus_reviews
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.
|
4
|
+
version: 1.2.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Solidus Contrib
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2019-
|
11
|
+
date: 2019-09-17 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: deface
|
@@ -44,26 +44,6 @@ dependencies:
|
|
44
44
|
- - "<"
|
45
45
|
- !ruby/object:Gem::Version
|
46
46
|
version: '3'
|
47
|
-
- !ruby/object:Gem::Dependency
|
48
|
-
name: solidus_auth_devise
|
49
|
-
requirement: !ruby/object:Gem::Requirement
|
50
|
-
requirements:
|
51
|
-
- - ">="
|
52
|
-
- !ruby/object:Gem::Version
|
53
|
-
version: '1.0'
|
54
|
-
- - "<"
|
55
|
-
- !ruby/object:Gem::Version
|
56
|
-
version: '3'
|
57
|
-
type: :runtime
|
58
|
-
prerelease: false
|
59
|
-
version_requirements: !ruby/object:Gem::Requirement
|
60
|
-
requirements:
|
61
|
-
- - ">="
|
62
|
-
- !ruby/object:Gem::Version
|
63
|
-
version: '1.0'
|
64
|
-
- - "<"
|
65
|
-
- !ruby/object:Gem::Version
|
66
|
-
version: '3'
|
67
47
|
- !ruby/object:Gem::Dependency
|
68
48
|
name: solidus_support
|
69
49
|
requirement: !ruby/object:Gem::Requirement
|
@@ -180,16 +160,16 @@ dependencies:
|
|
180
160
|
name: rspec-rails
|
181
161
|
requirement: !ruby/object:Gem::Requirement
|
182
162
|
requirements:
|
183
|
-
- - "
|
163
|
+
- - "~>"
|
184
164
|
- !ruby/object:Gem::Version
|
185
|
-
version:
|
165
|
+
version: 4.0.0.beta2
|
186
166
|
type: :development
|
187
167
|
prerelease: false
|
188
168
|
version_requirements: !ruby/object:Gem::Requirement
|
189
169
|
requirements:
|
190
|
-
- - "
|
170
|
+
- - "~>"
|
191
171
|
- !ruby/object:Gem::Version
|
192
|
-
version:
|
172
|
+
version: 4.0.0.beta2
|
193
173
|
- !ruby/object:Gem::Dependency
|
194
174
|
name: rubocop
|
195
175
|
requirement: !ruby/object:Gem::Requirement
|
@@ -218,6 +198,20 @@ dependencies:
|
|
218
198
|
- - ">="
|
219
199
|
- !ruby/object:Gem::Version
|
220
200
|
version: '0'
|
201
|
+
- !ruby/object:Gem::Dependency
|
202
|
+
name: selenium-webdriver
|
203
|
+
requirement: !ruby/object:Gem::Requirement
|
204
|
+
requirements:
|
205
|
+
- - ">="
|
206
|
+
- !ruby/object:Gem::Version
|
207
|
+
version: '0'
|
208
|
+
type: :development
|
209
|
+
prerelease: false
|
210
|
+
version_requirements: !ruby/object:Gem::Requirement
|
211
|
+
requirements:
|
212
|
+
- - ">="
|
213
|
+
- !ruby/object:Gem::Version
|
214
|
+
version: '0'
|
221
215
|
- !ruby/object:Gem::Dependency
|
222
216
|
name: simplecov
|
223
217
|
requirement: !ruby/object:Gem::Requirement
|
@@ -236,26 +230,26 @@ dependencies:
|
|
236
230
|
name: sqlite3
|
237
231
|
requirement: !ruby/object:Gem::Requirement
|
238
232
|
requirements:
|
239
|
-
- - "
|
233
|
+
- - ">="
|
240
234
|
- !ruby/object:Gem::Version
|
241
|
-
version:
|
235
|
+
version: '0'
|
242
236
|
type: :development
|
243
237
|
prerelease: false
|
244
238
|
version_requirements: !ruby/object:Gem::Requirement
|
245
239
|
requirements:
|
246
|
-
- - "
|
240
|
+
- - ">="
|
247
241
|
- !ruby/object:Gem::Version
|
248
|
-
version:
|
242
|
+
version: '0'
|
249
243
|
description: Basic review and ratings facility for Solidus
|
250
244
|
email:
|
251
245
|
executables: []
|
252
246
|
extensions: []
|
253
247
|
extra_rdoc_files: []
|
254
248
|
files:
|
249
|
+
- ".circleci/config.yml"
|
255
250
|
- ".gitignore"
|
256
251
|
- ".rspec"
|
257
252
|
- ".rubocop.yml"
|
258
|
-
- ".travis.yml"
|
259
253
|
- CONTRIBUTING.md
|
260
254
|
- Gemfile
|
261
255
|
- LICENSE.md
|
@@ -271,16 +265,16 @@ files:
|
|
271
265
|
- app/controllers/spree/admin/review_settings_controller.rb
|
272
266
|
- app/controllers/spree/admin/reviews_controller.rb
|
273
267
|
- app/controllers/spree/feedback_reviews_controller.rb
|
274
|
-
- app/controllers/spree/products_controller_decorator.rb
|
275
268
|
- app/controllers/spree/reviews_controller.rb
|
276
|
-
- app/
|
269
|
+
- app/decorators/controllers/solidus_reviews/spree/admin/products_controller_decorator.rb
|
270
|
+
- app/decorators/helpers/solidus_reviews/spree/api/api_helpers_decorator.rb
|
271
|
+
- app/decorators/models/solidus_reviews/spree/product_decorator.rb
|
272
|
+
- app/decorators/models/solidus_reviews/spree/user_decorator.rb
|
277
273
|
- app/helpers/spree/reviews_helper.rb
|
278
274
|
- app/models/spree/feedback_review.rb
|
279
|
-
- app/models/spree/product_decorator.rb
|
280
275
|
- app/models/spree/review.rb
|
281
276
|
- app/models/spree/reviews_ability.rb
|
282
277
|
- app/models/spree/reviews_configuration.rb
|
283
|
-
- app/models/spree/user_decorator.rb
|
284
278
|
- app/overrides/add_reviews_after_product_properties.rb
|
285
279
|
- app/overrides/add_reviews_tab_to_admin.rb
|
286
280
|
- app/overrides/add_reviews_to_admin_configuration_sidebar.rb
|
@@ -347,13 +341,13 @@ files:
|
|
347
341
|
- lib/solidus_reviews/factories/review_factory.rb
|
348
342
|
- lib/spree_reviews/engine.rb
|
349
343
|
- solidus_reviews.gemspec
|
350
|
-
- spec/controllers/admin/feedback_reviews_controller_spec.rb
|
351
|
-
- spec/controllers/admin/review_settings_controller_spec.rb
|
352
|
-
- spec/controllers/admin/reviews_controller_spec.rb
|
353
|
-
- spec/controllers/feedback_reviews_controller_spec.rb
|
354
|
-
- spec/controllers/products_controller_spec.rb
|
355
|
-
- spec/controllers/reviews_controller_spec.rb
|
344
|
+
- spec/controllers/spree/admin/feedback_reviews_controller_spec.rb
|
345
|
+
- spec/controllers/spree/admin/review_settings_controller_spec.rb
|
346
|
+
- spec/controllers/spree/admin/reviews_controller_spec.rb
|
356
347
|
- spec/controllers/spree/api/reviews_controller_spec.rb
|
348
|
+
- spec/controllers/spree/feedback_reviews_controller_spec.rb
|
349
|
+
- spec/controllers/spree/products_controller_spec.rb
|
350
|
+
- spec/controllers/spree/reviews_controller_spec.rb
|
357
351
|
- spec/features/admin_spec.rb
|
358
352
|
- spec/features/reviews_spec.rb
|
359
353
|
- spec/helpers/review_helper_spec.rb
|
@@ -389,13 +383,13 @@ signing_key:
|
|
389
383
|
specification_version: 4
|
390
384
|
summary: Basic review and ratings facility for Solidus
|
391
385
|
test_files:
|
392
|
-
- spec/controllers/admin/feedback_reviews_controller_spec.rb
|
393
|
-
- spec/controllers/admin/review_settings_controller_spec.rb
|
394
|
-
- spec/controllers/admin/reviews_controller_spec.rb
|
395
|
-
- spec/controllers/feedback_reviews_controller_spec.rb
|
396
|
-
- spec/controllers/products_controller_spec.rb
|
397
|
-
- spec/controllers/reviews_controller_spec.rb
|
386
|
+
- spec/controllers/spree/admin/feedback_reviews_controller_spec.rb
|
387
|
+
- spec/controllers/spree/admin/review_settings_controller_spec.rb
|
388
|
+
- spec/controllers/spree/admin/reviews_controller_spec.rb
|
398
389
|
- spec/controllers/spree/api/reviews_controller_spec.rb
|
390
|
+
- spec/controllers/spree/feedback_reviews_controller_spec.rb
|
391
|
+
- spec/controllers/spree/products_controller_spec.rb
|
392
|
+
- spec/controllers/spree/reviews_controller_spec.rb
|
399
393
|
- spec/features/admin_spec.rb
|
400
394
|
- spec/features/reviews_spec.rb
|
401
395
|
- spec/helpers/review_helper_spec.rb
|
data/.travis.yml
DELETED
@@ -1,31 +0,0 @@
|
|
1
|
-
cache: bundler
|
2
|
-
dist: trusty
|
3
|
-
language: ruby
|
4
|
-
rvm:
|
5
|
-
- 2.4.3
|
6
|
-
addons:
|
7
|
-
chrome: stable
|
8
|
-
apt:
|
9
|
-
packages:
|
10
|
-
- chromium-chromedriver
|
11
|
-
before_install:
|
12
|
-
- ln -s /usr/lib/chromium-browser/chromedriver ~/bin/chromedriver
|
13
|
-
before_script:
|
14
|
-
- export DISPLAY=:99.0
|
15
|
-
- sh -e /etc/init.d/xvfb start
|
16
|
-
- sleep 3 # give xvfb some time to start
|
17
|
-
|
18
|
-
env:
|
19
|
-
matrix:
|
20
|
-
- SOLIDUS_BRANCH=v2.5 DB=postgres
|
21
|
-
- SOLIDUS_BRANCH=v2.6 DB=postgres
|
22
|
-
- SOLIDUS_BRANCH=v2.7 DB=postgres
|
23
|
-
- SOLIDUS_BRANCH=v2.8 DB=postgres
|
24
|
-
- SOLIDUS_BRANCH=v2.9 DB=postgres
|
25
|
-
- SOLIDUS_BRANCH=master DB=postgres
|
26
|
-
- SOLIDUS_BRANCH=v2.5 DB=mysql
|
27
|
-
- SOLIDUS_BRANCH=v2.6 DB=mysql
|
28
|
-
- SOLIDUS_BRANCH=v2.7 DB=mysql
|
29
|
-
- SOLIDUS_BRANCH=v2.8 DB=mysql
|
30
|
-
- SOLIDUS_BRANCH=v2.9 DB=mysql
|
31
|
-
- SOLIDUS_BRANCH=master DB=mysql
|
@@ -1,21 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
Spree::Api::ApiHelpers.module_eval do
|
4
|
-
@@review_attributes = [
|
5
|
-
:id, :product_id, :name, :location, :rating, :title, :review, :approved,
|
6
|
-
:created_at, :updated_at, :user_id, :ip_address, :locale, :show_identifier,
|
7
|
-
:verified_purchaser
|
8
|
-
]
|
9
|
-
|
10
|
-
@@feedback_review_attributes = [
|
11
|
-
:id, :user_id, :review_id, :rating, :comment, :created_at, :updated_at, :locale
|
12
|
-
]
|
13
|
-
|
14
|
-
def review_attributes
|
15
|
-
@@review_attributes
|
16
|
-
end
|
17
|
-
|
18
|
-
def feedback_review_attributes
|
19
|
-
@@feedback_review_attributes
|
20
|
-
end
|
21
|
-
end
|
@@ -1,22 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
# Add access to reviews/ratings to the product model
|
4
|
-
Spree::Product.class_eval do
|
5
|
-
has_many :reviews
|
6
|
-
|
7
|
-
def stars
|
8
|
-
avg_rating.try(:round) || 0
|
9
|
-
end
|
10
|
-
|
11
|
-
def recalculate_rating
|
12
|
-
reviews_count = reviews.reload.default_approval_filter.count
|
13
|
-
|
14
|
-
self.reviews_count = reviews_count
|
15
|
-
if reviews_count > 0
|
16
|
-
self.avg_rating = '%.1f' % (reviews.default_approval_filter.sum(:rating).to_f / reviews_count)
|
17
|
-
else
|
18
|
-
self.avg_rating = 0
|
19
|
-
end
|
20
|
-
save
|
21
|
-
end
|
22
|
-
end
|