solidus_frontend 2.9.6 → 2.10.3
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.
Potentially problematic release.
This version of solidus_frontend might be problematic. Click here for more details.
- checksums.yaml +4 -4
- data/app/assets/stylesheets/spree/frontend/screen.css.scss +3 -3
- data/app/controllers/spree/checkout_controller.rb +4 -0
- data/app/controllers/spree/orders_controller.rb +6 -2
- data/lib/generators/solidus/views/override_generator.rb +3 -2
- data/lib/spree/frontend/config.rb +9 -0
- data/lib/spree/frontend/engine.rb +5 -3
- data/lib/spree/frontend/middleware/seo_assist.rb +4 -4
- data/{app/models → lib}/spree/frontend_configuration.rb +1 -1
- data/solidus_frontend.gemspec +2 -1
- data/spec/controllers/spree/checkout_controller_spec.rb +7 -7
- data/spec/controllers/spree/orders_controller_ability_spec.rb +1 -1
- data/spec/controllers/spree/orders_controller_spec.rb +27 -2
- data/spec/features/checkout_spec.rb +51 -0
- data/spec/features/products_spec.rb +4 -4
- data/spec/features/taxons_spec.rb +4 -4
- metadata +27 -12
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 91b81a0499cfcc80c2679550b7d6db2ad71924487a5d46dbac789addd97edfda
|
4
|
+
data.tar.gz: a50ea281edb618f5ccc671bca43341e403e6e550aa7d0875a0b581ab663ddc32
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 53f459be7840d780e768a38a3ddc1355246cdf421fe0c28a0f2e9172ef0327d47266f43fa58a0aeea1595603d8f83da9b061e41706c20e48f256e90f38e5ff59
|
7
|
+
data.tar.gz: 781d5b3e99617412f0f3eb7e8871c68c47d94d05fb26d689c961cc8e4414e340e14362ec4bd19f3c546184c81c79c9249784e2988954bca79ecf7f498b1dbddf
|
@@ -963,8 +963,8 @@ p[data-hook="use_billing"] {
|
|
963
963
|
}
|
964
964
|
|
965
965
|
input[type="text"] {
|
966
|
-
flex:
|
967
|
-
width:
|
966
|
+
flex: 1 auto;
|
967
|
+
width: 50%;
|
968
968
|
margin-right: 5px;
|
969
969
|
}
|
970
970
|
|
@@ -1268,7 +1268,7 @@ table.order-summary {
|
|
1268
1268
|
// # Logo
|
1269
1269
|
#logo {
|
1270
1270
|
padding: 20px 0;
|
1271
|
-
|
1271
|
+
|
1272
1272
|
> a {
|
1273
1273
|
display: inline-block;
|
1274
1274
|
}
|
@@ -149,6 +149,10 @@ module Spree
|
|
149
149
|
redirect_to(spree.cart_path) && return unless @order
|
150
150
|
end
|
151
151
|
|
152
|
+
# Allow the customer to only go back or stay on the current state
|
153
|
+
# when trying to change it via params[:state]. It's not allowed to
|
154
|
+
# jump forward and skip states (unless #skip_state_validation? is
|
155
|
+
# truthy).
|
152
156
|
def set_state_if_present
|
153
157
|
if params[:state]
|
154
158
|
redirect_to checkout_state_path(@order.state) if @order.can_go_to_state?(params[:state]) && !skip_state_validation?
|
@@ -42,6 +42,10 @@ module Spree
|
|
42
42
|
@order = current_order || Spree::Order.incomplete.find_or_initialize_by(guest_token: cookies.signed[:guest_token])
|
43
43
|
authorize! :read, @order, cookies.signed[:guest_token]
|
44
44
|
associate_user
|
45
|
+
if params[:id] && @order.number != params[:id]
|
46
|
+
flash[:error] = t('spree.cannot_edit_orders')
|
47
|
+
redirect_to cart_path
|
48
|
+
end
|
45
49
|
end
|
46
50
|
|
47
51
|
# Adds a new item to the order (creating a new order if none already exists)
|
@@ -59,8 +63,8 @@ module Spree
|
|
59
63
|
|
60
64
|
begin
|
61
65
|
@line_item = @order.contents.add(variant, quantity)
|
62
|
-
rescue ActiveRecord::RecordInvalid =>
|
63
|
-
@order.errors.add(:base,
|
66
|
+
rescue ActiveRecord::RecordInvalid => error
|
67
|
+
@order.errors.add(:base, error.record.errors.full_messages.join(", "))
|
64
68
|
end
|
65
69
|
|
66
70
|
respond_with(@order) do |format|
|
@@ -24,6 +24,7 @@ module Solidus
|
|
24
24
|
def copy_views
|
25
25
|
views_to_copy.each do |file|
|
26
26
|
next if File.directory?(file)
|
27
|
+
|
27
28
|
dest_file = Pathname.new(file).relative_path_from(source_dir)
|
28
29
|
copy_file file, Rails.root.join('app', 'views', 'spree', dest_file)
|
29
30
|
end
|
@@ -33,8 +34,8 @@ module Solidus
|
|
33
34
|
|
34
35
|
def views_to_copy
|
35
36
|
if @options['only']
|
36
|
-
VIEWS.select do |
|
37
|
-
Pathname.new(
|
37
|
+
VIEWS.select do |view|
|
38
|
+
Pathname.new(view).relative_path_from(source_dir).to_s.include?(@options['only'])
|
38
39
|
end
|
39
40
|
else
|
40
41
|
VIEWS
|
@@ -1,13 +1,15 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
|
+
require 'spree/frontend/config'
|
4
|
+
|
3
5
|
module Spree
|
4
6
|
module Frontend
|
5
7
|
class Engine < ::Rails::Engine
|
6
8
|
config.middleware.use "Spree::Frontend::Middleware::SeoAssist"
|
7
9
|
|
8
|
-
initializer
|
9
|
-
|
10
|
-
end
|
10
|
+
# Leave initializer empty for backwards-compatability. Other apps
|
11
|
+
# might still rely on this event.
|
12
|
+
initializer "spree.frontend.environment", before: :load_config_initializers do; end
|
11
13
|
end
|
12
14
|
end
|
13
15
|
end
|
@@ -38,11 +38,11 @@ module Spree
|
|
38
38
|
end
|
39
39
|
|
40
40
|
def build_query(params)
|
41
|
-
params.map { |
|
42
|
-
if
|
43
|
-
build_query(
|
41
|
+
params.map { |key, value|
|
42
|
+
if value.class == Array
|
43
|
+
build_query(value.map { |parameter| ["#{key}[]", parameter] })
|
44
44
|
else
|
45
|
-
|
45
|
+
key + "=" + Rack::Utils.escape(value)
|
46
46
|
end
|
47
47
|
}.join("&")
|
48
48
|
end
|
@@ -2,7 +2,7 @@
|
|
2
2
|
|
3
3
|
module Spree
|
4
4
|
class FrontendConfiguration < Preferences::Configuration
|
5
|
-
preference :locale, :string, default:
|
5
|
+
preference :locale, :string, default: I18n.default_locale
|
6
6
|
|
7
7
|
# Add your terms and conditions in app/views/spree/checkout/_terms_and_conditions.en.html.erb
|
8
8
|
preference :require_terms_and_conditions_acceptance, :boolean, default: false
|
data/solidus_frontend.gemspec
CHANGED
@@ -18,7 +18,7 @@ Gem::Specification.new do |s|
|
|
18
18
|
s.require_path = 'lib'
|
19
19
|
s.requirements << 'none'
|
20
20
|
|
21
|
-
s.required_ruby_version = '>= 2.
|
21
|
+
s.required_ruby_version = '>= 2.4.0'
|
22
22
|
s.required_rubygems_version = '>= 1.8.23'
|
23
23
|
|
24
24
|
s.add_dependency 'solidus_api', s.version
|
@@ -28,6 +28,7 @@ Gem::Specification.new do |s|
|
|
28
28
|
s.add_dependency 'font-awesome-rails', '~> 4.0'
|
29
29
|
s.add_dependency 'jquery-rails'
|
30
30
|
s.add_dependency 'kaminari', '~> 1.1'
|
31
|
+
s.add_dependency 'responders'
|
31
32
|
s.add_dependency 'sassc-rails'
|
32
33
|
s.add_dependency 'truncate_html', '~> 0.9', '>= 0.9.2'
|
33
34
|
|
@@ -91,7 +91,7 @@ describe Spree::CheckoutController, type: :controller do
|
|
91
91
|
|
92
92
|
context "with the order in the cart state", partial_double_verification: false do
|
93
93
|
before do
|
94
|
-
order.
|
94
|
+
order.update! user: user
|
95
95
|
order.update_column(:state, "cart")
|
96
96
|
end
|
97
97
|
|
@@ -140,7 +140,7 @@ describe Spree::CheckoutController, type: :controller do
|
|
140
140
|
|
141
141
|
context "with the order in the address state", partial_double_verification: false do
|
142
142
|
before do
|
143
|
-
order.
|
143
|
+
order.update! user: user
|
144
144
|
order.update_columns(ship_address_id: create(:address).id, state: "address")
|
145
145
|
end
|
146
146
|
|
@@ -213,7 +213,7 @@ describe Spree::CheckoutController, type: :controller do
|
|
213
213
|
end
|
214
214
|
|
215
215
|
before do
|
216
|
-
order.
|
216
|
+
order.update! user: user
|
217
217
|
3.times { order.next! } # should put us in the payment state
|
218
218
|
end
|
219
219
|
|
@@ -245,7 +245,7 @@ describe Spree::CheckoutController, type: :controller do
|
|
245
245
|
end
|
246
246
|
|
247
247
|
before do
|
248
|
-
order.
|
248
|
+
order.update! user: user
|
249
249
|
3.times { order.next! } # should put us in the payment state
|
250
250
|
end
|
251
251
|
|
@@ -300,7 +300,7 @@ describe Spree::CheckoutController, type: :controller do
|
|
300
300
|
|
301
301
|
context "when in the confirm state" do
|
302
302
|
before do
|
303
|
-
order.
|
303
|
+
order.update! user: user
|
304
304
|
order.update_column(:state, "confirm")
|
305
305
|
# An order requires a payment to reach the complete state
|
306
306
|
# This is because payment_required? is true on the order
|
@@ -330,7 +330,7 @@ describe Spree::CheckoutController, type: :controller do
|
|
330
330
|
|
331
331
|
context "save unsuccessful" do
|
332
332
|
before do
|
333
|
-
order.
|
333
|
+
order.update! user: user
|
334
334
|
allow(order).to receive_messages valid?: false
|
335
335
|
end
|
336
336
|
|
@@ -367,7 +367,7 @@ describe Spree::CheckoutController, type: :controller do
|
|
367
367
|
|
368
368
|
context "Spree::Core::GatewayError" do
|
369
369
|
before do
|
370
|
-
order.
|
370
|
+
order.update! user: user
|
371
371
|
allow(order).to receive(:next).and_raise(Spree::Core::GatewayError.new("Invalid something or other."))
|
372
372
|
post :update, params: { state: "address", order: { bill_address_attributes: address_params } }
|
373
373
|
end
|
@@ -37,7 +37,7 @@ module Spree
|
|
37
37
|
|
38
38
|
context '#update' do
|
39
39
|
it 'should check if user is authorized for :update' do
|
40
|
-
allow(order).to receive :
|
40
|
+
allow(order).to receive :update
|
41
41
|
expect(controller).to receive(:authorize!).with(:update, order, token)
|
42
42
|
post :update, params: { order: { email: "foo@bar.com" }, token: token }
|
43
43
|
end
|
@@ -102,6 +102,31 @@ describe Spree::OrdersController, type: :controller do
|
|
102
102
|
end
|
103
103
|
end
|
104
104
|
|
105
|
+
context '#edit' do
|
106
|
+
before do
|
107
|
+
allow(controller).to receive :authorize!
|
108
|
+
allow(controller).to receive_messages current_order: order
|
109
|
+
end
|
110
|
+
|
111
|
+
it 'should render cart' do
|
112
|
+
get :edit, params: { id: order.number }
|
113
|
+
|
114
|
+
expect(flash[:error]).to be_nil
|
115
|
+
expect(response).to be_ok
|
116
|
+
end
|
117
|
+
|
118
|
+
context 'with another order number than the current_order' do
|
119
|
+
let(:other_order) { create(:completed_order_with_totals) }
|
120
|
+
|
121
|
+
it 'should display error message' do
|
122
|
+
get :edit, params: { id: other_order.number }
|
123
|
+
|
124
|
+
expect(flash[:error]).to eq "You may only edit your current shopping cart."
|
125
|
+
expect(response).to redirect_to cart_path
|
126
|
+
end
|
127
|
+
end
|
128
|
+
end
|
129
|
+
|
105
130
|
context "#update" do
|
106
131
|
context "with authorization" do
|
107
132
|
before do
|
@@ -117,13 +142,13 @@ describe Spree::OrdersController, type: :controller do
|
|
117
142
|
end
|
118
143
|
|
119
144
|
it "should redirect to cart path (on success)" do
|
120
|
-
allow(order).to receive(:
|
145
|
+
allow(order).to receive(:update).and_return true
|
121
146
|
put :update
|
122
147
|
expect(response).to redirect_to(spree.cart_path)
|
123
148
|
end
|
124
149
|
|
125
150
|
it "should advance the order if :checkout button is pressed" do
|
126
|
-
allow(order).to receive(:
|
151
|
+
allow(order).to receive(:update).and_return true
|
127
152
|
expect(order).to receive(:next)
|
128
153
|
put :update, params: { checkout: true }
|
129
154
|
expect(response).to redirect_to checkout_state_path('address')
|
@@ -680,6 +680,57 @@ describe "Checkout", type: :feature, inaccessible: true do
|
|
680
680
|
end
|
681
681
|
end
|
682
682
|
|
683
|
+
# Regression test for: https://github.com/solidusio/solidus/issues/2998
|
684
|
+
context 'when two shipping categories are available' do
|
685
|
+
let!(:first_category) { create(:shipping_category) }
|
686
|
+
let!(:second_category) { create(:shipping_category) }
|
687
|
+
|
688
|
+
let!(:first_shipping_method) do
|
689
|
+
create(:shipping_method,
|
690
|
+
shipping_categories: [first_category],
|
691
|
+
stores: [store])
|
692
|
+
end
|
693
|
+
|
694
|
+
let!(:second_shipping_method) do
|
695
|
+
create(:shipping_method,
|
696
|
+
shipping_categories: [second_category],
|
697
|
+
stores: [store])
|
698
|
+
end
|
699
|
+
|
700
|
+
context 'assigned to two different products' do
|
701
|
+
let!(:first_product) do
|
702
|
+
create(:product,
|
703
|
+
name: 'First product',
|
704
|
+
shipping_category: first_category)
|
705
|
+
end
|
706
|
+
|
707
|
+
let!(:second_product) do
|
708
|
+
create(:product,
|
709
|
+
name: 'Second product',
|
710
|
+
shipping_category: second_category)
|
711
|
+
end
|
712
|
+
|
713
|
+
before do
|
714
|
+
stock_location.stock_items.update_all(count_on_hand: 10)
|
715
|
+
end
|
716
|
+
|
717
|
+
it 'transitions successfully to the delivery step', js: true do
|
718
|
+
visit spree.product_path(first_product)
|
719
|
+
click_button 'add-to-cart-button'
|
720
|
+
visit spree.product_path(second_product)
|
721
|
+
click_button 'add-to-cart-button'
|
722
|
+
|
723
|
+
click_button 'Checkout'
|
724
|
+
|
725
|
+
fill_in_address
|
726
|
+
fill_in 'order_email', with: 'test@example.com'
|
727
|
+
click_button 'Save and Continue'
|
728
|
+
|
729
|
+
expect(Spree::Order.last.state).to eq('delivery')
|
730
|
+
end
|
731
|
+
end
|
732
|
+
end
|
733
|
+
|
683
734
|
def fill_in_credit_card(number: "4111 1111 1111 1111")
|
684
735
|
fill_in "Name on card", with: 'Mary Doe'
|
685
736
|
fill_in_with_force "Card Number", with: number
|
@@ -51,20 +51,20 @@ describe "Visiting Products", type: :feature, inaccessible: true do
|
|
51
51
|
end
|
52
52
|
|
53
53
|
it 'displays metas' do
|
54
|
-
jersey.
|
54
|
+
jersey.update metas
|
55
55
|
click_link jersey.name
|
56
56
|
expect(page).to have_meta(:description, 'Brand new Ruby on Rails Jersey')
|
57
57
|
expect(page).to have_meta(:keywords, 'ror, jersey, ruby')
|
58
58
|
end
|
59
59
|
|
60
60
|
it 'displays title if set' do
|
61
|
-
jersey.
|
61
|
+
jersey.update metas
|
62
62
|
click_link jersey.name
|
63
63
|
expect(page).to have_title('Ruby on Rails Baseball Jersey Buy High Quality Geek Apparel')
|
64
64
|
end
|
65
65
|
|
66
66
|
it "doesn't use meta_title as heading on page" do
|
67
|
-
jersey.
|
67
|
+
jersey.update metas
|
68
68
|
click_link jersey.name
|
69
69
|
within("h1") do
|
70
70
|
expect(page).to have_content(jersey.name)
|
@@ -73,7 +73,7 @@ describe "Visiting Products", type: :feature, inaccessible: true do
|
|
73
73
|
end
|
74
74
|
|
75
75
|
it 'uses product name in title when meta_title set to empty string' do
|
76
|
-
jersey.
|
76
|
+
jersey.update meta_title: ''
|
77
77
|
click_link jersey.name
|
78
78
|
expect(page).to have_title('Ruby on Rails Baseball Jersey - ' + store_name)
|
79
79
|
end
|
@@ -30,14 +30,14 @@ describe "viewing products", type: :feature, inaccessible: true do
|
|
30
30
|
|
31
31
|
describe 'meta tags and title' do
|
32
32
|
it 'displays metas' do
|
33
|
-
t_shirts.
|
33
|
+
t_shirts.update metas
|
34
34
|
visit '/t/category/super-clothing/t-shirts'
|
35
35
|
expect(page).to have_meta(:description, 'Brand new Ruby on Rails TShirts')
|
36
36
|
expect(page).to have_meta(:keywords, 'ror, tshirt, ruby')
|
37
37
|
end
|
38
38
|
|
39
39
|
it 'display title if set' do
|
40
|
-
t_shirts.
|
40
|
+
t_shirts.update metas
|
41
41
|
visit '/t/category/super-clothing/t-shirts'
|
42
42
|
expect(page).to have_title("Ruby On Rails TShirt")
|
43
43
|
end
|
@@ -49,7 +49,7 @@ describe "viewing products", type: :feature, inaccessible: true do
|
|
49
49
|
|
50
50
|
# Regression test for https://github.com/spree/spree/issues/2814
|
51
51
|
it "doesn't use meta_title as heading on page" do
|
52
|
-
t_shirts.
|
52
|
+
t_shirts.update metas
|
53
53
|
visit '/t/category/super-clothing/t-shirts'
|
54
54
|
within("h1.taxon-title") do
|
55
55
|
expect(page).to have_content(t_shirts.name)
|
@@ -57,7 +57,7 @@ describe "viewing products", type: :feature, inaccessible: true do
|
|
57
57
|
end
|
58
58
|
|
59
59
|
it 'uses taxon name in title when meta_title set to empty string' do
|
60
|
-
t_shirts.
|
60
|
+
t_shirts.update meta_title: ''
|
61
61
|
visit '/t/category/super-clothing/t-shirts'
|
62
62
|
expect(page).to have_title('Category - T-Shirts - ' + store_name)
|
63
63
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: solidus_frontend
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.
|
4
|
+
version: 2.10.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Solidus Team
|
8
|
-
autorequire:
|
8
|
+
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2020-
|
11
|
+
date: 2020-11-06 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: solidus_api
|
@@ -16,28 +16,28 @@ dependencies:
|
|
16
16
|
requirements:
|
17
17
|
- - '='
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version: 2.
|
19
|
+
version: 2.10.3
|
20
20
|
type: :runtime
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
24
|
- - '='
|
25
25
|
- !ruby/object:Gem::Version
|
26
|
-
version: 2.
|
26
|
+
version: 2.10.3
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: solidus_core
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
30
30
|
requirements:
|
31
31
|
- - '='
|
32
32
|
- !ruby/object:Gem::Version
|
33
|
-
version: 2.
|
33
|
+
version: 2.10.3
|
34
34
|
type: :runtime
|
35
35
|
prerelease: false
|
36
36
|
version_requirements: !ruby/object:Gem::Requirement
|
37
37
|
requirements:
|
38
38
|
- - '='
|
39
39
|
- !ruby/object:Gem::Version
|
40
|
-
version: 2.
|
40
|
+
version: 2.10.3
|
41
41
|
- !ruby/object:Gem::Dependency
|
42
42
|
name: canonical-rails
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|
@@ -94,6 +94,20 @@ dependencies:
|
|
94
94
|
- - "~>"
|
95
95
|
- !ruby/object:Gem::Version
|
96
96
|
version: '1.1'
|
97
|
+
- !ruby/object:Gem::Dependency
|
98
|
+
name: responders
|
99
|
+
requirement: !ruby/object:Gem::Requirement
|
100
|
+
requirements:
|
101
|
+
- - ">="
|
102
|
+
- !ruby/object:Gem::Version
|
103
|
+
version: '0'
|
104
|
+
type: :runtime
|
105
|
+
prerelease: false
|
106
|
+
version_requirements: !ruby/object:Gem::Requirement
|
107
|
+
requirements:
|
108
|
+
- - ">="
|
109
|
+
- !ruby/object:Gem::Version
|
110
|
+
version: '0'
|
97
111
|
- !ruby/object:Gem::Dependency
|
98
112
|
name: sassc-rails
|
99
113
|
requirement: !ruby/object:Gem::Requirement
|
@@ -204,7 +218,6 @@ files:
|
|
204
218
|
- app/controllers/spree/taxons_controller.rb
|
205
219
|
- app/helpers/spree/orders_helper.rb
|
206
220
|
- app/helpers/spree/taxon_filters_helper.rb
|
207
|
-
- app/models/spree/frontend_configuration.rb
|
208
221
|
- app/views/spree/address/_form.html.erb
|
209
222
|
- app/views/spree/address/_form_hidden.html.erb
|
210
223
|
- app/views/spree/checkout/_address.html.erb
|
@@ -264,8 +277,10 @@ files:
|
|
264
277
|
- lib/generators/solidus/views/override_generator.rb
|
265
278
|
- lib/solidus_frontend.rb
|
266
279
|
- lib/spree/frontend.rb
|
280
|
+
- lib/spree/frontend/config.rb
|
267
281
|
- lib/spree/frontend/engine.rb
|
268
282
|
- lib/spree/frontend/middleware/seo_assist.rb
|
283
|
+
- lib/spree/frontend_configuration.rb
|
269
284
|
- lib/spree_frontend.rb
|
270
285
|
- lib/tasks/rake_util.rb
|
271
286
|
- lib/tasks/taxon.rake
|
@@ -316,7 +331,7 @@ homepage: http://solidus.io/
|
|
316
331
|
licenses:
|
317
332
|
- BSD-3-Clause
|
318
333
|
metadata: {}
|
319
|
-
post_install_message:
|
334
|
+
post_install_message:
|
320
335
|
rdoc_options: []
|
321
336
|
require_paths:
|
322
337
|
- lib
|
@@ -324,7 +339,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
324
339
|
requirements:
|
325
340
|
- - ">="
|
326
341
|
- !ruby/object:Gem::Version
|
327
|
-
version: 2.
|
342
|
+
version: 2.4.0
|
328
343
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
329
344
|
requirements:
|
330
345
|
- - ">="
|
@@ -332,8 +347,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
332
347
|
version: 1.8.23
|
333
348
|
requirements:
|
334
349
|
- none
|
335
|
-
rubygems_version: 3.
|
336
|
-
signing_key:
|
350
|
+
rubygems_version: 3.1.4
|
351
|
+
signing_key:
|
337
352
|
specification_version: 4
|
338
353
|
summary: Cart and storefront for the Solidus e-commerce project.
|
339
354
|
test_files: []
|