workarea-reviews 3.0.10
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/.editorconfig +20 -0
- data/.eslintignore +2 -0
- data/.eslintrc +24 -0
- data/.github/ISSUE_TEMPLATE/bug_report.md +37 -0
- data/.github/ISSUE_TEMPLATE/documentation-request.md +17 -0
- data/.github/ISSUE_TEMPLATE/feature_request.md +20 -0
- data/.gitignore +16 -0
- data/.scss-lint.yml +188 -0
- data/.yardopts +1 -0
- data/CHANGELOG.md +763 -0
- data/CODE_OF_CONDUCT.md +3 -0
- data/CONTRIBUTING.md +3 -0
- data/Gemfile +6 -0
- data/LICENSE +52 -0
- data/README.md +107 -0
- data/Rakefile +54 -0
- data/app/assets/images/workarea/admin/icons/star.svg +1 -0
- data/app/assets/images/workarea/storefront/icons/empty_star.svg +1 -0
- data/app/assets/images/workarea/storefront/icons/half_star.svg +1 -0
- data/app/assets/images/workarea/storefront/icons/star.svg +1 -0
- data/app/assets/javascripts/workarea/storefront/reviews/modules/product_review_ajax_submit.js +39 -0
- data/app/assets/javascripts/workarea/storefront/reviews/modules/product_reviews_sort_menus.js +82 -0
- data/app/assets/javascripts/workarea/storefront/reviews/modules/rating_buttons.js +103 -0
- data/app/assets/javascripts/workarea/storefront/reviews/templates/sort_by_property.jst.ejs +11 -0
- data/app/assets/stylesheets/workarea/storefront/reviews/components/_rating.scss +28 -0
- data/app/assets/stylesheets/workarea/storefront/reviews/components/_reviews.scss +59 -0
- data/app/assets/stylesheets/workarea/storefront/reviews/components/_reviews_aggregate.scss +38 -0
- data/app/assets/stylesheets/workarea/storefront/reviews/components/_write_review.scss +63 -0
- data/app/controllers/workarea/admin/catalog_products_controller.decorator +9 -0
- data/app/controllers/workarea/admin/import_reviews_controller.rb +35 -0
- data/app/controllers/workarea/admin/reviews_controller.rb +51 -0
- data/app/controllers/workarea/storefront/review_requests_controller.rb +50 -0
- data/app/controllers/workarea/storefront/reviews_controller.rb +53 -0
- data/app/helpers/workarea/admin/reviews_helper.rb +12 -0
- data/app/helpers/workarea/storefront/reviews_helper.rb +24 -0
- data/app/mailers/workarea/admin/status_report_mailer.decorator +8 -0
- data/app/mailers/workarea/storefront/review_mailer.rb +23 -0
- data/app/models/workarea/catalog/product.decorator +15 -0
- data/app/models/workarea/fulfillment.decorator +11 -0
- data/app/models/workarea/review.rb +135 -0
- data/app/models/workarea/review/request.rb +62 -0
- data/app/models/workarea/search/admin/review.rb +72 -0
- data/app/models/workarea/search/storefront/product.decorator +9 -0
- data/app/models/workarea/sort.decorator +17 -0
- data/app/queries/workarea/review_request_params.rb +47 -0
- data/app/queries/workarea/review_summary.rb +11 -0
- data/app/queries/workarea/search/admin_reviews.rb +40 -0
- data/app/queries/workarea/search/category_browse.decorator +9 -0
- data/app/queries/workarea/search/product_search.decorator +9 -0
- data/app/seeds/review_seeds.rb +49 -0
- data/app/services/workarea/create_review.rb +99 -0
- data/app/view_models/workarea/admin/product_view_model.decorator +7 -0
- data/app/view_models/workarea/admin/review_view_model.rb +23 -0
- data/app/view_models/workarea/admin/reviews_search_view_model.rb +46 -0
- data/app/view_models/workarea/storefront/product_view_model.decorator +13 -0
- data/app/view_models/workarea/storefront/review_view_model.rb +14 -0
- data/app/views/workarea/admin/activities/_review_create.html.haml +12 -0
- data/app/views/workarea/admin/activities/_review_destroy.html.haml +10 -0
- data/app/views/workarea/admin/activities/_review_update.html.haml +10 -0
- data/app/views/workarea/admin/reviews/_aux_navigation.html.haml +5 -0
- data/app/views/workarea/admin/reviews/_catalog_products_aux_link.html.haml +5 -0
- data/app/views/workarea/admin/reviews/_dashboard_navigation.html.haml +1 -0
- data/app/views/workarea/admin/reviews/_menu.html.haml +3 -0
- data/app/views/workarea/admin/reviews/_summary.html.haml +12 -0
- data/app/views/workarea/admin/reviews/edit.html.haml +77 -0
- data/app/views/workarea/admin/reviews/index.html.haml +74 -0
- data/app/views/workarea/admin/status_report_mailer/_reviews.html.haml +5 -0
- data/app/views/workarea/storefront/products/_rating.html.haml +10 -0
- data/app/views/workarea/storefront/products/_reviews.html.haml +23 -0
- data/app/views/workarea/storefront/products/_reviews_aggregate.html.haml +22 -0
- data/app/views/workarea/storefront/products/_reviews_summary.html.haml +2 -0
- data/app/views/workarea/storefront/review_mailer/review_request.html.haml +22 -0
- data/app/views/workarea/storefront/review_requests/show.html.haml +44 -0
- data/app/views/workarea/storefront/reviews/new.html.haml +68 -0
- data/app/views/workarea/storefront/style_guides/_reviews_product_summary_docs.html.haml +13 -0
- data/app/views/workarea/storefront/style_guides/components/_reviews.html.haml +17 -0
- data/app/workers/workarea/create_review_requests.rb +33 -0
- data/app/workers/workarea/schedule_review_requests.rb +44 -0
- data/app/workers/workarea/send_review_requests.rb +12 -0
- data/app/workers/workarea/update_product_review_data.rb +26 -0
- data/bin/rails +18 -0
- data/config/initializers/append_points.rb +70 -0
- data/config/initializers/assets.rb +1 -0
- data/config/initializers/configuration.rb +29 -0
- data/config/initializers/rack_attack.rb +11 -0
- data/config/initializers/recaptcha.rb +19 -0
- data/config/initializers/scheduled_jobs.rb +8 -0
- data/config/locales/en.yml +104 -0
- data/config/routes.rb +21 -0
- data/lib/tasks/verify.rake +16 -0
- data/lib/workarea/mailer_previews/storefront/review_mailer_preview.rb +10 -0
- data/lib/workarea/reviews.rb +13 -0
- data/lib/workarea/reviews/engine.rb +12 -0
- data/lib/workarea/reviews/version.rb +5 -0
- data/test/dummy/Rakefile +6 -0
- data/test/dummy/app/assets/config/manifest.js +4 -0
- data/test/dummy/app/assets/images/.keep +0 -0
- data/test/dummy/app/assets/javascripts/application.js +13 -0
- data/test/dummy/app/assets/stylesheets/application.css +15 -0
- data/test/dummy/app/controllers/application_controller.rb +3 -0
- data/test/dummy/app/controllers/concerns/.keep +0 -0
- data/test/dummy/app/helpers/application_helper.rb +2 -0
- data/test/dummy/app/jobs/application_job.rb +2 -0
- data/test/dummy/app/mailers/application_mailer.rb +4 -0
- data/test/dummy/app/models/concerns/.keep +0 -0
- data/test/dummy/app/views/layouts/application.html.erb +14 -0
- data/test/dummy/app/views/layouts/mailer.html.erb +13 -0
- data/test/dummy/app/views/layouts/mailer.text.erb +1 -0
- data/test/dummy/bin/bundle +3 -0
- data/test/dummy/bin/rails +4 -0
- data/test/dummy/bin/rake +4 -0
- data/test/dummy/bin/setup +34 -0
- data/test/dummy/bin/update +29 -0
- data/test/dummy/config.ru +5 -0
- data/test/dummy/config/application.rb +25 -0
- data/test/dummy/config/boot.rb +5 -0
- data/test/dummy/config/cable.yml +9 -0
- data/test/dummy/config/environment.rb +5 -0
- data/test/dummy/config/environments/development.rb +55 -0
- data/test/dummy/config/environments/production.rb +86 -0
- data/test/dummy/config/environments/test.rb +43 -0
- data/test/dummy/config/initializers/application_controller_renderer.rb +6 -0
- data/test/dummy/config/initializers/assets.rb +11 -0
- data/test/dummy/config/initializers/backtrace_silencers.rb +7 -0
- data/test/dummy/config/initializers/cookies_serializer.rb +5 -0
- data/test/dummy/config/initializers/filter_parameter_logging.rb +4 -0
- data/test/dummy/config/initializers/inflections.rb +16 -0
- data/test/dummy/config/initializers/mime_types.rb +4 -0
- data/test/dummy/config/initializers/new_framework_defaults.rb +21 -0
- data/test/dummy/config/initializers/session_store.rb +3 -0
- data/test/dummy/config/initializers/workarea.rb +5 -0
- data/test/dummy/config/initializers/wrap_parameters.rb +14 -0
- data/test/dummy/config/locales/en.yml +23 -0
- data/test/dummy/config/puma.rb +47 -0
- data/test/dummy/config/routes.rb +5 -0
- data/test/dummy/config/secrets.yml +22 -0
- data/test/dummy/config/spring.rb +6 -0
- data/test/dummy/db/seeds.rb +2 -0
- data/test/dummy/lib/assets/.keep +0 -0
- data/test/dummy/log/.keep +0 -0
- data/test/factories/reviews.rb +32 -0
- data/test/fixtures/reviews.csv +5 -0
- data/test/helpers/workarea/admin/reviews_helper_test.rb +17 -0
- data/test/helpers/workarea/storefront/reviews_helper_test.rb +19 -0
- data/test/integration/workarea/admin/reviews_integration_test.rb +33 -0
- data/test/integration/workarea/storefront/review_requests_integration_test.rb +63 -0
- data/test/integration/workarea/storefront/reviews_integration_test.rb +82 -0
- data/test/javascripts/fixtures/product_review_ajax_submit.html.haml +4 -0
- data/test/javascripts/product_review_ajax_submit_spec.js +28 -0
- data/test/javascripts/spec_helper.js +23 -0
- data/test/models/workarea/review/request_test.rb +18 -0
- data/test/models/workarea/review_test.rb +94 -0
- data/test/models/workarea/search/storefront/product_test.decorator +14 -0
- data/test/queries/workarea/review_request_params_test.rb +64 -0
- data/test/services/workarea/create_review_test.rb +131 -0
- data/test/system/workarea/admin/review_system_test.rb +96 -0
- data/test/system/workarea/storefront/review_request_system_test.rb +34 -0
- data/test/system/workarea/storefront/review_system_test.rb +113 -0
- data/test/teaspoon_env.rb +10 -0
- data/test/test_helper.rb +11 -0
- data/test/workers/workarea/create_review_requests_test.rb +38 -0
- data/test/workers/workarea/schedule_review_requests_test.rb +115 -0
- data/test/workers/workarea/send_review_requests_test.rb +30 -0
- data/workarea-reviews.gemspec +22 -0
- metadata +241 -0
data/test/test_helper.rb
ADDED
@@ -0,0 +1,11 @@
|
|
1
|
+
# Configure Rails Environment
|
2
|
+
ENV['RAILS_ENV'] = 'test'
|
3
|
+
|
4
|
+
require File.expand_path('../../test/dummy/config/environment.rb', __FILE__)
|
5
|
+
require 'rails/test_help'
|
6
|
+
require 'workarea/test_help'
|
7
|
+
require 'factories/reviews'
|
8
|
+
|
9
|
+
# Filter out Minitest backtrace while allowing backtrace from other libraries
|
10
|
+
# to be shown.
|
11
|
+
Minitest.backtrace_filter = Minitest::BacktraceFilter.new
|
@@ -0,0 +1,38 @@
|
|
1
|
+
require 'test_helper'
|
2
|
+
|
3
|
+
module Workarea
|
4
|
+
class CreateReviewRequestsTest < TestCase
|
5
|
+
def test_perform
|
6
|
+
product_one = create_product(variants: [{ sku: 'SKU1', regular: 5.to_m }])
|
7
|
+
product_two = create_product(variants: [{ sku: 'SKU2', regular: 10.to_m }])
|
8
|
+
product_three = create_product(variants: [{ sku: 'SKU3', regular: 15.to_m }])
|
9
|
+
product_four = create_product(variants: [{ sku: 'SKU4', regular: 20.to_m }, { sku: 'SKU5', regular: 25.to_m }])
|
10
|
+
|
11
|
+
user = create_user(first_name: 'Robert', last_name: 'Clams')
|
12
|
+
order = create_order(
|
13
|
+
user_id: user.id,
|
14
|
+
email: user.email,
|
15
|
+
items: [
|
16
|
+
{ product_id: product_one.id, sku: 'SKU1', quantity: 20 },
|
17
|
+
{ product_id: product_two.id, sku: 'SKU2', quantity: 2 },
|
18
|
+
{ product_id: product_three.id, sku: 'SKU3', quantity: 1 },
|
19
|
+
{ product_id: product_four.id, sku: 'SKU4', quantity: 1 },
|
20
|
+
{ product_id: product_four.id, sku: 'SKU5', quantity: 1 }
|
21
|
+
]
|
22
|
+
)
|
23
|
+
|
24
|
+
Sidekiq::Callbacks.disable(CreateReviewRequests) do
|
25
|
+
complete_checkout(order)
|
26
|
+
end
|
27
|
+
|
28
|
+
assert_equal(0, Review::Request.count)
|
29
|
+
CreateReviewRequests.new.perform(order.id)
|
30
|
+
assert_equal(3, Review::Request.count)
|
31
|
+
|
32
|
+
requests = Review::Request.all
|
33
|
+
assert_includes(requests.map(&:product_id), product_four.id.to_s)
|
34
|
+
assert_includes(requests.map(&:product_id), product_three.id.to_s)
|
35
|
+
assert_includes(requests.map(&:product_id), product_two.id.to_s)
|
36
|
+
end
|
37
|
+
end
|
38
|
+
end
|
@@ -0,0 +1,115 @@
|
|
1
|
+
require 'test_helper'
|
2
|
+
|
3
|
+
module Workarea
|
4
|
+
class ScheduleReviewRequestsTest < TestCase
|
5
|
+
setup :order, :requests
|
6
|
+
|
7
|
+
def order
|
8
|
+
@order ||= create_order(
|
9
|
+
items: [
|
10
|
+
{ product_id: 'PROD1', sku: 'SKU1', quantity: 1 },
|
11
|
+
{ product_id: 'PROD2', sku: 'SKU2', quantity: 1 },
|
12
|
+
{ product_id: 'PROD3', sku: 'SKU3', quantity: 1 }
|
13
|
+
]
|
14
|
+
)
|
15
|
+
end
|
16
|
+
|
17
|
+
def requests
|
18
|
+
@requests ||= [
|
19
|
+
create_review_request(order_id: order.id, product_id: 'PROD1', send_after: nil),
|
20
|
+
create_review_request(order_id: order.id, product_id: 'PROD2', send_after: nil),
|
21
|
+
create_review_request(order_id: order.id, product_id: 'PROD3', send_after: nil)
|
22
|
+
]
|
23
|
+
end
|
24
|
+
|
25
|
+
def test_perform
|
26
|
+
travel(3.days) do
|
27
|
+
ScheduleReviewRequests.new.perform(
|
28
|
+
order.id,
|
29
|
+
[
|
30
|
+
{ 'id' => order.items.first.id.to_s },
|
31
|
+
{ 'id' => order.items.second.id.to_s },
|
32
|
+
{ 'id' => order.items.third.id.to_s }
|
33
|
+
]
|
34
|
+
)
|
35
|
+
|
36
|
+
requests.map(&:reload)
|
37
|
+
assert(requests.all?(&:send_after))
|
38
|
+
|
39
|
+
sorted_requests = requests.sort_by(&:send_after)
|
40
|
+
|
41
|
+
assert_equal(
|
42
|
+
Time.current + Workarea.config.review_request_initial_delivery_delay,
|
43
|
+
sorted_requests.first.send_after
|
44
|
+
)
|
45
|
+
|
46
|
+
assert_equal(
|
47
|
+
sorted_requests.first.send_after + Workarea.config.review_request_secondary_delivery_delay,
|
48
|
+
sorted_requests.second.send_after
|
49
|
+
)
|
50
|
+
|
51
|
+
assert_equal(
|
52
|
+
sorted_requests.second.send_after + Workarea.config.review_request_secondary_delivery_delay,
|
53
|
+
sorted_requests.third.send_after
|
54
|
+
)
|
55
|
+
end
|
56
|
+
end
|
57
|
+
|
58
|
+
def test_perform_with_partial_shipments
|
59
|
+
travel_to(3.days.from_now.beginning_of_day) do
|
60
|
+
ScheduleReviewRequests.new.perform(
|
61
|
+
order.id,
|
62
|
+
[
|
63
|
+
{ 'id' => order.items.first.id.to_s },
|
64
|
+
{ 'id' => order.items.third.id.to_s }
|
65
|
+
]
|
66
|
+
)
|
67
|
+
|
68
|
+
requests.map(&:reload)
|
69
|
+
assert_equal(2, requests.select(&:send_after).size)
|
70
|
+
|
71
|
+
sorted_requests = requests.select(&:send_after).sort_by(&:send_after)
|
72
|
+
|
73
|
+
assert_equal(
|
74
|
+
Time.current + Workarea.config.review_request_initial_delivery_delay,
|
75
|
+
sorted_requests.first.send_after
|
76
|
+
)
|
77
|
+
|
78
|
+
assert_equal(
|
79
|
+
sorted_requests.first.send_after + Workarea.config.review_request_secondary_delivery_delay,
|
80
|
+
sorted_requests.second.send_after
|
81
|
+
)
|
82
|
+
end
|
83
|
+
|
84
|
+
travel_to(5.days.from_now.beginning_of_day) do
|
85
|
+
ScheduleReviewRequests.new.perform(
|
86
|
+
order.id,
|
87
|
+
[
|
88
|
+
{ 'id' => order.items.first.id.to_s },
|
89
|
+
{ 'id' => order.items.second.id.to_s }
|
90
|
+
]
|
91
|
+
)
|
92
|
+
|
93
|
+
requests.map(&:reload)
|
94
|
+
assert(requests.all?(&:send_after))
|
95
|
+
|
96
|
+
sorted_requests = requests.sort_by(&:send_after)
|
97
|
+
|
98
|
+
assert_equal(
|
99
|
+
2.days.ago + Workarea.config.review_request_initial_delivery_delay,
|
100
|
+
sorted_requests.first.send_after
|
101
|
+
)
|
102
|
+
|
103
|
+
assert_equal(
|
104
|
+
sorted_requests.first.send_after + Workarea.config.review_request_secondary_delivery_delay,
|
105
|
+
sorted_requests.second.send_after
|
106
|
+
)
|
107
|
+
|
108
|
+
assert_equal(
|
109
|
+
sorted_requests.second.send_after + Workarea.config.review_request_secondary_delivery_delay,
|
110
|
+
sorted_requests.third.send_after
|
111
|
+
)
|
112
|
+
end
|
113
|
+
end
|
114
|
+
end
|
115
|
+
end
|
@@ -0,0 +1,30 @@
|
|
1
|
+
require 'test_helper'
|
2
|
+
|
3
|
+
module Workarea
|
4
|
+
class SendReviewRequestsTest < TestCase
|
5
|
+
include TestCase::Mail
|
6
|
+
|
7
|
+
def test_perform
|
8
|
+
product = create_product(name: 'Foobar Product')
|
9
|
+
|
10
|
+
requests = Array.new(3) { create_review_request(product_id: product.id) }
|
11
|
+
create_review_request(product_id: product.id, send_after: 1.week.from_now)
|
12
|
+
create_review_request(product_id: product.id, send_after: Time.current, canceled_at: Time.current)
|
13
|
+
|
14
|
+
SendReviewRequests.new.perform
|
15
|
+
|
16
|
+
requests.each(&:reload)
|
17
|
+
assert(requests.all?(&:sent?))
|
18
|
+
|
19
|
+
assert_equal(3, ActionMailer::Base.deliveries.size)
|
20
|
+
|
21
|
+
email = ActionMailer::Base.deliveries.last
|
22
|
+
assert_includes(email.to, 'test@workarea.com')
|
23
|
+
assert_includes(email.subject, product.name)
|
24
|
+
assert_includes(
|
25
|
+
email.parts.second.body,
|
26
|
+
t('workarea.storefront.email.review_request.link')
|
27
|
+
)
|
28
|
+
end
|
29
|
+
end
|
30
|
+
end
|
@@ -0,0 +1,22 @@
|
|
1
|
+
$:.push File.expand_path('../lib', __FILE__)
|
2
|
+
|
3
|
+
require 'workarea/reviews/version'
|
4
|
+
|
5
|
+
Gem::Specification.new do |s|
|
6
|
+
s.name = 'workarea-reviews'
|
7
|
+
s.version = Workarea::Reviews::VERSION
|
8
|
+
s.authors = ['Ben Crouse']
|
9
|
+
s.email = ['bcrouse@workarea.com']
|
10
|
+
s.homepage = 'https://github.com/workarea-commerce/workarea-reviews'
|
11
|
+
s.summary = 'Reviews plugin for the Workarea ecommerce platform'
|
12
|
+
s.description = 'Plugin for product reviews on the Workarea ecommerce platform'
|
13
|
+
|
14
|
+
s.files = `git ls-files`.split("\n")
|
15
|
+
|
16
|
+
s.license = 'Business Software License'
|
17
|
+
|
18
|
+
s.required_ruby_version = '>= 2.3.0'
|
19
|
+
|
20
|
+
s.add_dependency 'workarea', '~> 3.x', '>= 3.3.x'
|
21
|
+
s.add_dependency 'recaptcha', '~> 4.3.1'
|
22
|
+
end
|
metadata
ADDED
@@ -0,0 +1,241 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: workarea-reviews
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 3.0.10
|
5
|
+
platform: ruby
|
6
|
+
authors:
|
7
|
+
- Ben Crouse
|
8
|
+
autorequire:
|
9
|
+
bindir: bin
|
10
|
+
cert_chain: []
|
11
|
+
date: 2019-10-16 00:00:00.000000000 Z
|
12
|
+
dependencies:
|
13
|
+
- !ruby/object:Gem::Dependency
|
14
|
+
name: workarea
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
16
|
+
requirements:
|
17
|
+
- - "~>"
|
18
|
+
- !ruby/object:Gem::Version
|
19
|
+
version: 3.x
|
20
|
+
- - ">="
|
21
|
+
- !ruby/object:Gem::Version
|
22
|
+
version: 3.3.x
|
23
|
+
type: :runtime
|
24
|
+
prerelease: false
|
25
|
+
version_requirements: !ruby/object:Gem::Requirement
|
26
|
+
requirements:
|
27
|
+
- - "~>"
|
28
|
+
- !ruby/object:Gem::Version
|
29
|
+
version: 3.x
|
30
|
+
- - ">="
|
31
|
+
- !ruby/object:Gem::Version
|
32
|
+
version: 3.3.x
|
33
|
+
- !ruby/object:Gem::Dependency
|
34
|
+
name: recaptcha
|
35
|
+
requirement: !ruby/object:Gem::Requirement
|
36
|
+
requirements:
|
37
|
+
- - "~>"
|
38
|
+
- !ruby/object:Gem::Version
|
39
|
+
version: 4.3.1
|
40
|
+
type: :runtime
|
41
|
+
prerelease: false
|
42
|
+
version_requirements: !ruby/object:Gem::Requirement
|
43
|
+
requirements:
|
44
|
+
- - "~>"
|
45
|
+
- !ruby/object:Gem::Version
|
46
|
+
version: 4.3.1
|
47
|
+
description: Plugin for product reviews on the Workarea ecommerce platform
|
48
|
+
email:
|
49
|
+
- bcrouse@workarea.com
|
50
|
+
executables: []
|
51
|
+
extensions: []
|
52
|
+
extra_rdoc_files: []
|
53
|
+
files:
|
54
|
+
- ".editorconfig"
|
55
|
+
- ".eslintignore"
|
56
|
+
- ".eslintrc"
|
57
|
+
- ".github/ISSUE_TEMPLATE/bug_report.md"
|
58
|
+
- ".github/ISSUE_TEMPLATE/documentation-request.md"
|
59
|
+
- ".github/ISSUE_TEMPLATE/feature_request.md"
|
60
|
+
- ".gitignore"
|
61
|
+
- ".scss-lint.yml"
|
62
|
+
- ".yardopts"
|
63
|
+
- CHANGELOG.md
|
64
|
+
- CODE_OF_CONDUCT.md
|
65
|
+
- CONTRIBUTING.md
|
66
|
+
- Gemfile
|
67
|
+
- LICENSE
|
68
|
+
- README.md
|
69
|
+
- Rakefile
|
70
|
+
- app/assets/images/workarea/admin/icons/star.svg
|
71
|
+
- app/assets/images/workarea/storefront/icons/empty_star.svg
|
72
|
+
- app/assets/images/workarea/storefront/icons/half_star.svg
|
73
|
+
- app/assets/images/workarea/storefront/icons/star.svg
|
74
|
+
- app/assets/javascripts/workarea/storefront/reviews/modules/product_review_ajax_submit.js
|
75
|
+
- app/assets/javascripts/workarea/storefront/reviews/modules/product_reviews_sort_menus.js
|
76
|
+
- app/assets/javascripts/workarea/storefront/reviews/modules/rating_buttons.js
|
77
|
+
- app/assets/javascripts/workarea/storefront/reviews/templates/sort_by_property.jst.ejs
|
78
|
+
- app/assets/stylesheets/workarea/storefront/reviews/components/_rating.scss
|
79
|
+
- app/assets/stylesheets/workarea/storefront/reviews/components/_reviews.scss
|
80
|
+
- app/assets/stylesheets/workarea/storefront/reviews/components/_reviews_aggregate.scss
|
81
|
+
- app/assets/stylesheets/workarea/storefront/reviews/components/_write_review.scss
|
82
|
+
- app/controllers/workarea/admin/catalog_products_controller.decorator
|
83
|
+
- app/controllers/workarea/admin/import_reviews_controller.rb
|
84
|
+
- app/controllers/workarea/admin/reviews_controller.rb
|
85
|
+
- app/controllers/workarea/storefront/review_requests_controller.rb
|
86
|
+
- app/controllers/workarea/storefront/reviews_controller.rb
|
87
|
+
- app/helpers/workarea/admin/reviews_helper.rb
|
88
|
+
- app/helpers/workarea/storefront/reviews_helper.rb
|
89
|
+
- app/mailers/workarea/admin/status_report_mailer.decorator
|
90
|
+
- app/mailers/workarea/storefront/review_mailer.rb
|
91
|
+
- app/models/workarea/catalog/product.decorator
|
92
|
+
- app/models/workarea/fulfillment.decorator
|
93
|
+
- app/models/workarea/review.rb
|
94
|
+
- app/models/workarea/review/request.rb
|
95
|
+
- app/models/workarea/search/admin/review.rb
|
96
|
+
- app/models/workarea/search/storefront/product.decorator
|
97
|
+
- app/models/workarea/sort.decorator
|
98
|
+
- app/queries/workarea/review_request_params.rb
|
99
|
+
- app/queries/workarea/review_summary.rb
|
100
|
+
- app/queries/workarea/search/admin_reviews.rb
|
101
|
+
- app/queries/workarea/search/category_browse.decorator
|
102
|
+
- app/queries/workarea/search/product_search.decorator
|
103
|
+
- app/seeds/review_seeds.rb
|
104
|
+
- app/services/workarea/create_review.rb
|
105
|
+
- app/view_models/workarea/admin/product_view_model.decorator
|
106
|
+
- app/view_models/workarea/admin/review_view_model.rb
|
107
|
+
- app/view_models/workarea/admin/reviews_search_view_model.rb
|
108
|
+
- app/view_models/workarea/storefront/product_view_model.decorator
|
109
|
+
- app/view_models/workarea/storefront/review_view_model.rb
|
110
|
+
- app/views/workarea/admin/activities/_review_create.html.haml
|
111
|
+
- app/views/workarea/admin/activities/_review_destroy.html.haml
|
112
|
+
- app/views/workarea/admin/activities/_review_update.html.haml
|
113
|
+
- app/views/workarea/admin/reviews/_aux_navigation.html.haml
|
114
|
+
- app/views/workarea/admin/reviews/_catalog_products_aux_link.html.haml
|
115
|
+
- app/views/workarea/admin/reviews/_dashboard_navigation.html.haml
|
116
|
+
- app/views/workarea/admin/reviews/_menu.html.haml
|
117
|
+
- app/views/workarea/admin/reviews/_summary.html.haml
|
118
|
+
- app/views/workarea/admin/reviews/edit.html.haml
|
119
|
+
- app/views/workarea/admin/reviews/index.html.haml
|
120
|
+
- app/views/workarea/admin/status_report_mailer/_reviews.html.haml
|
121
|
+
- app/views/workarea/storefront/products/_rating.html.haml
|
122
|
+
- app/views/workarea/storefront/products/_reviews.html.haml
|
123
|
+
- app/views/workarea/storefront/products/_reviews_aggregate.html.haml
|
124
|
+
- app/views/workarea/storefront/products/_reviews_summary.html.haml
|
125
|
+
- app/views/workarea/storefront/review_mailer/review_request.html.haml
|
126
|
+
- app/views/workarea/storefront/review_requests/show.html.haml
|
127
|
+
- app/views/workarea/storefront/reviews/new.html.haml
|
128
|
+
- app/views/workarea/storefront/style_guides/_reviews_product_summary_docs.html.haml
|
129
|
+
- app/views/workarea/storefront/style_guides/components/_reviews.html.haml
|
130
|
+
- app/workers/workarea/create_review_requests.rb
|
131
|
+
- app/workers/workarea/schedule_review_requests.rb
|
132
|
+
- app/workers/workarea/send_review_requests.rb
|
133
|
+
- app/workers/workarea/update_product_review_data.rb
|
134
|
+
- bin/rails
|
135
|
+
- config/initializers/append_points.rb
|
136
|
+
- config/initializers/assets.rb
|
137
|
+
- config/initializers/configuration.rb
|
138
|
+
- config/initializers/rack_attack.rb
|
139
|
+
- config/initializers/recaptcha.rb
|
140
|
+
- config/initializers/scheduled_jobs.rb
|
141
|
+
- config/locales/en.yml
|
142
|
+
- config/routes.rb
|
143
|
+
- lib/tasks/verify.rake
|
144
|
+
- lib/workarea/mailer_previews/storefront/review_mailer_preview.rb
|
145
|
+
- lib/workarea/reviews.rb
|
146
|
+
- lib/workarea/reviews/engine.rb
|
147
|
+
- lib/workarea/reviews/version.rb
|
148
|
+
- test/dummy/Rakefile
|
149
|
+
- test/dummy/app/assets/config/manifest.js
|
150
|
+
- test/dummy/app/assets/images/.keep
|
151
|
+
- test/dummy/app/assets/javascripts/application.js
|
152
|
+
- test/dummy/app/assets/stylesheets/application.css
|
153
|
+
- test/dummy/app/controllers/application_controller.rb
|
154
|
+
- test/dummy/app/controllers/concerns/.keep
|
155
|
+
- test/dummy/app/helpers/application_helper.rb
|
156
|
+
- test/dummy/app/jobs/application_job.rb
|
157
|
+
- test/dummy/app/mailers/application_mailer.rb
|
158
|
+
- test/dummy/app/models/concerns/.keep
|
159
|
+
- test/dummy/app/views/layouts/application.html.erb
|
160
|
+
- test/dummy/app/views/layouts/mailer.html.erb
|
161
|
+
- test/dummy/app/views/layouts/mailer.text.erb
|
162
|
+
- test/dummy/bin/bundle
|
163
|
+
- test/dummy/bin/rails
|
164
|
+
- test/dummy/bin/rake
|
165
|
+
- test/dummy/bin/setup
|
166
|
+
- test/dummy/bin/update
|
167
|
+
- test/dummy/config.ru
|
168
|
+
- test/dummy/config/application.rb
|
169
|
+
- test/dummy/config/boot.rb
|
170
|
+
- test/dummy/config/cable.yml
|
171
|
+
- test/dummy/config/environment.rb
|
172
|
+
- test/dummy/config/environments/development.rb
|
173
|
+
- test/dummy/config/environments/production.rb
|
174
|
+
- test/dummy/config/environments/test.rb
|
175
|
+
- test/dummy/config/initializers/application_controller_renderer.rb
|
176
|
+
- test/dummy/config/initializers/assets.rb
|
177
|
+
- test/dummy/config/initializers/backtrace_silencers.rb
|
178
|
+
- test/dummy/config/initializers/cookies_serializer.rb
|
179
|
+
- test/dummy/config/initializers/filter_parameter_logging.rb
|
180
|
+
- test/dummy/config/initializers/inflections.rb
|
181
|
+
- test/dummy/config/initializers/mime_types.rb
|
182
|
+
- test/dummy/config/initializers/new_framework_defaults.rb
|
183
|
+
- test/dummy/config/initializers/session_store.rb
|
184
|
+
- test/dummy/config/initializers/workarea.rb
|
185
|
+
- test/dummy/config/initializers/wrap_parameters.rb
|
186
|
+
- test/dummy/config/locales/en.yml
|
187
|
+
- test/dummy/config/puma.rb
|
188
|
+
- test/dummy/config/routes.rb
|
189
|
+
- test/dummy/config/secrets.yml
|
190
|
+
- test/dummy/config/spring.rb
|
191
|
+
- test/dummy/db/seeds.rb
|
192
|
+
- test/dummy/lib/assets/.keep
|
193
|
+
- test/dummy/log/.keep
|
194
|
+
- test/factories/reviews.rb
|
195
|
+
- test/fixtures/reviews.csv
|
196
|
+
- test/helpers/workarea/admin/reviews_helper_test.rb
|
197
|
+
- test/helpers/workarea/storefront/reviews_helper_test.rb
|
198
|
+
- test/integration/workarea/admin/reviews_integration_test.rb
|
199
|
+
- test/integration/workarea/storefront/review_requests_integration_test.rb
|
200
|
+
- test/integration/workarea/storefront/reviews_integration_test.rb
|
201
|
+
- test/javascripts/fixtures/product_review_ajax_submit.html.haml
|
202
|
+
- test/javascripts/product_review_ajax_submit_spec.js
|
203
|
+
- test/javascripts/spec_helper.js
|
204
|
+
- test/models/workarea/review/request_test.rb
|
205
|
+
- test/models/workarea/review_test.rb
|
206
|
+
- test/models/workarea/search/storefront/product_test.decorator
|
207
|
+
- test/queries/workarea/review_request_params_test.rb
|
208
|
+
- test/services/workarea/create_review_test.rb
|
209
|
+
- test/system/workarea/admin/review_system_test.rb
|
210
|
+
- test/system/workarea/storefront/review_request_system_test.rb
|
211
|
+
- test/system/workarea/storefront/review_system_test.rb
|
212
|
+
- test/teaspoon_env.rb
|
213
|
+
- test/test_helper.rb
|
214
|
+
- test/workers/workarea/create_review_requests_test.rb
|
215
|
+
- test/workers/workarea/schedule_review_requests_test.rb
|
216
|
+
- test/workers/workarea/send_review_requests_test.rb
|
217
|
+
- workarea-reviews.gemspec
|
218
|
+
homepage: https://github.com/workarea-commerce/workarea-reviews
|
219
|
+
licenses:
|
220
|
+
- Business Software License
|
221
|
+
metadata: {}
|
222
|
+
post_install_message:
|
223
|
+
rdoc_options: []
|
224
|
+
require_paths:
|
225
|
+
- lib
|
226
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
227
|
+
requirements:
|
228
|
+
- - ">="
|
229
|
+
- !ruby/object:Gem::Version
|
230
|
+
version: 2.3.0
|
231
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
232
|
+
requirements:
|
233
|
+
- - ">="
|
234
|
+
- !ruby/object:Gem::Version
|
235
|
+
version: '0'
|
236
|
+
requirements: []
|
237
|
+
rubygems_version: 3.0.6
|
238
|
+
signing_key:
|
239
|
+
specification_version: 4
|
240
|
+
summary: Reviews plugin for the Workarea ecommerce platform
|
241
|
+
test_files: []
|