solidus_reviews 1.1.1 → 1.2.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (27) hide show
  1. checksums.yaml +4 -4
  2. data/.circleci/config.yml +35 -0
  3. data/.gitignore +1 -0
  4. data/Gemfile +13 -11
  5. data/README.md +1 -1
  6. data/app/decorators/controllers/solidus_reviews/spree/admin/products_controller_decorator.rb +19 -0
  7. data/app/decorators/helpers/solidus_reviews/spree/api/api_helpers_decorator.rb +33 -0
  8. data/app/decorators/models/solidus_reviews/spree/product_decorator.rb +30 -0
  9. data/app/decorators/models/solidus_reviews/spree/user_decorator.rb +15 -0
  10. data/app/models/spree/feedback_review.rb +1 -1
  11. data/app/models/spree/review.rb +2 -2
  12. data/lib/solidus_reviews.rb +1 -1
  13. data/lib/spree_reviews/engine.rb +0 -2
  14. data/solidus_reviews.gemspec +4 -4
  15. data/spec/controllers/{admin → spree/admin}/feedback_reviews_controller_spec.rb +0 -0
  16. data/spec/controllers/{admin → spree/admin}/review_settings_controller_spec.rb +0 -0
  17. data/spec/controllers/{admin → spree/admin}/reviews_controller_spec.rb +0 -0
  18. data/spec/controllers/{feedback_reviews_controller_spec.rb → spree/feedback_reviews_controller_spec.rb} +0 -0
  19. data/spec/controllers/{products_controller_spec.rb → spree/products_controller_spec.rb} +0 -0
  20. data/spec/controllers/{reviews_controller_spec.rb → spree/reviews_controller_spec.rb} +0 -0
  21. data/spec/spec_helper.rb +10 -25
  22. metadata +41 -47
  23. data/.travis.yml +0 -31
  24. data/app/controllers/spree/products_controller_decorator.rb +0 -7
  25. data/app/helpers/spree/api/api_helpers_decorator.rb +0 -21
  26. data/app/models/spree/product_decorator.rb +0 -22
  27. data/app/models/spree/user_decorator.rb +0 -3
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: c9cabc6589687760227a9ba4c781a2d8b61fad18d6bdc08bff138cdeb257180d
4
- data.tar.gz: 4970f27446bff1c1c52749b068fc40abd7dd2ed5cc080727b442b3d3f11ae3f8
3
+ metadata.gz: 6fc709261f34b4979904d11cceeb17b22a57be36089f37f77dea475262506c24
4
+ data.tar.gz: 9a3b6b6f70b0867534f634426da005d312db19e21d5633bb9e5ca2e8ab6ba3ec
5
5
  SHA512:
6
- metadata.gz: abf9e6d511a7165baad650338a369500f9bdd94e9c2c283ab1c7104b58e5571e91c5ad4d221b4692a263197df05ce5794e9b6813782721fac9cbdab982c0d806
7
- data.tar.gz: ecb8b8beed8ef58d25e104aabde8a01b4f28fb235997edefb22752f538c02a79f297ff36d68ff627f86e31923c170f9465ac762ff9c50143dcb98ed48c27f1b7
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
@@ -10,3 +10,4 @@ coverage
10
10
  .rvmrc
11
11
  .ruby-version
12
12
  .ruby-gemset
13
+ spec/examples.txt
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
- if ENV['DB'] == 'mysql'
20
+ case ENV['DB']
21
+ when 'mysql'
12
22
  gem 'mysql2', '~> 0.4.10'
13
- else
23
+ when 'postgres'
14
24
  gem 'pg', '~> 0.21'
15
25
  end
16
26
 
17
27
  group :development, :test do
18
- if branch < 'v2.5'
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
- [![Build Status](https://travis-ci.org/solidusio-contrib/solidus_reviews.svg?branch=master)](https://travis-ci.org/solidusio-contrib/solidus_reviews)
3
+ [![CircleCI](https://circleci.com/gh/solidusio-contrib/solidus_reviews.svg?style=svg)](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
@@ -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"
@@ -1,8 +1,8 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  require 'solidus'
4
+ require 'solidus_support'
4
5
  require 'sass/rails'
5
6
  require 'deface'
6
- require 'solidus_auth_devise'
7
7
  require 'spree_reviews/engine'
8
8
  require 'coffee_script'
@@ -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)
@@ -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.1.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', '~> 1.3.6'
36
+ s.add_development_dependency 'sqlite3'
37
37
  end
@@ -1,41 +1,26 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require 'simplecov'
4
- SimpleCov.start 'rails'
3
+ require "simplecov"
4
+ SimpleCov.start "rails"
5
5
 
6
- ENV["RAILS_ENV"] = "test"
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 'selenium/webdriver'
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.use_transactional_fixtures = false
24
-
25
- Capybara.register_driver :selenium_chrome_headless do |app|
26
- browser_options = ::Selenium::WebDriver::Chrome::Options.new
27
- browser_options.args << '--headless'
28
- browser_options.args << '--disable-gpu'
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.1.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-08-15 00:00:00.000000000 Z
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: '0'
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: '0'
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: 1.3.6
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: 1.3.6
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/helpers/spree/api/api_helpers_decorator.rb
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
@@ -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,7 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- Spree::ProductsController.class_eval do
4
- helper Spree::ReviewsHelper
5
-
6
- [:avg_rating, :reviews_count].each { |attrib| Spree::PermittedAttributes.product_attributes << attrib }
7
- end
@@ -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
@@ -1,3 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- Spree.user_class.has_many :reviews, class_name: 'Spree::Review'