workarea-admin 3.5.19 → 3.5.20
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/app/controllers/workarea/admin/impersonations_controller.rb +1 -1
- data/app/view_models/workarea/admin/product_view_model.rb +5 -8
- data/app/views/workarea/admin/catalog_products/_cards.html.haml +1 -1
- data/app/views/workarea/admin/navigation_menus/_summary.html.haml +1 -1
- data/app/views/workarea/admin/pricing_discounts/properties/_product_attribute.html.haml +1 -1
- data/app/views/workarea/admin/tax_categories/_cards.html.haml +1 -1
- data/app/views/workarea/admin/tax_rates/edit.html.haml +3 -3
- data/app/views/workarea/admin/tax_rates/index.html.haml +3 -3
- data/app/views/workarea/admin/tax_rates/new.html.haml +3 -3
- data/app/views/workarea/admin/toolbar/show.html.haml +1 -0
- data/config/locales/en.yml +1 -1
- data/test/integration/workarea/admin/impersonations_integration_test.rb +8 -1
- data/test/system/workarea/admin/assets_system_test.rb +1 -1
- data/test/system/workarea/admin/bookmarks_system_test.rb +2 -2
- data/test/system/workarea/admin/bulk_actions_system_test.rb +5 -5
- data/test/system/workarea/admin/comments_system_test.rb +1 -1
- data/test/system/workarea/admin/content_system_test.rb +1 -1
- data/test/system/workarea/admin/dashboard_system_test.rb +1 -1
- data/test/system/workarea/admin/impersonation_system_test.rb +1 -4
- data/test/system/workarea/admin/inventory_skus_system_test.rb +1 -1
- data/test/system/workarea/admin/menus_system_test.rb +1 -1
- data/test/system/workarea/admin/pricing_sku_prices_system_test.rb +3 -3
- data/test/system/workarea/admin/recommendations_system_test.rb +2 -2
- data/test/system/workarea/admin/releases_system_test.rb +6 -6
- data/test/system/workarea/admin/tax_categories_system_test.rb +6 -5
- data/test/system/workarea/admin/taxonomy_system_test.rb +2 -2
- data/test/system/workarea/admin/trash_system_test.rb +1 -1
- data/test/view_models/workarea/admin/product_view_model_test.rb +2 -2
- metadata +6 -6
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: a607bf3907ae033b463b4ea975e63e3baa64fb962d657df6cf0441071b815660
|
4
|
+
data.tar.gz: df1ead081c2c5fe988c3f982ee90aaf27c98f45e7d1b3834e5586c1edd6059c0
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 201839f44d3f88443143a796a34c6062d9b6ed0abc417ae2e1c54ae661ef767d5d288bd6a3f540c0ecebb464970a6750b550082f7617b1083c8ab8432551d8cd
|
7
|
+
data.tar.gz: 114f7ae013a9df030ddac85460e6e3c689c44243726698a0de307678aeee2d707cef52d7d5d9195f9577121416588007423f09a2a0a7300e48ed117fa0664f7a
|
@@ -42,7 +42,7 @@ module Workarea
|
|
42
42
|
def storefront_view_model
|
43
43
|
@storefront_view_model ||= Storefront::ProductViewModel.wrap(
|
44
44
|
model,
|
45
|
-
|
45
|
+
options
|
46
46
|
)
|
47
47
|
end
|
48
48
|
|
@@ -93,16 +93,13 @@ module Workarea
|
|
93
93
|
end
|
94
94
|
end
|
95
95
|
|
96
|
-
def
|
97
|
-
variants.
|
96
|
+
def variant_details
|
97
|
+
variants.each_with_object({}) do |variant, memo|
|
98
98
|
variant.details.each do |name, value|
|
99
99
|
memo[name] ||= []
|
100
|
-
memo[name]
|
101
|
-
memo[name].flatten!
|
100
|
+
memo[name] += Array.wrap(value)
|
102
101
|
memo[name].uniq!
|
103
102
|
end
|
104
|
-
|
105
|
-
memo
|
106
103
|
end
|
107
104
|
end
|
108
105
|
|
@@ -125,7 +122,7 @@ module Workarea
|
|
125
122
|
end
|
126
123
|
|
127
124
|
def insights
|
128
|
-
@insights ||= Insights::ProductViewModel.wrap(model,
|
125
|
+
@insights ||= Insights::ProductViewModel.wrap(model, options)
|
129
126
|
end
|
130
127
|
|
131
128
|
def inventory
|
@@ -108,7 +108,7 @@
|
|
108
108
|
%p.align-center= t('workarea.admin.fields.inventory')
|
109
109
|
|
110
110
|
%span.heading.heading--3.heading--no-margin.align-center
|
111
|
-
= model.
|
111
|
+
= model.variant_details.keys.to_sentence
|
112
112
|
%p.align-center= t('workarea.admin.fields.options')
|
113
113
|
|
114
114
|
= link_to catalog_product_variants_path(model), class: 'card__button' do
|
@@ -6,5 +6,5 @@
|
|
6
6
|
#{local_time_ago(model.updated_at)}
|
7
7
|
- else
|
8
8
|
%span.summary__info-text-inactive= t('workarea.admin.navigation_menus.summary.inactive')
|
9
|
-
%span.summary__info= t('workarea.admin.navigation_menus.summary.content_block', count: model.content
|
9
|
+
%span.summary__info= t('workarea.admin.navigation_menus.summary.content_block', count: model.content&.blocks&.size.to_i)
|
10
10
|
%span.summary__type{ title: t('workarea.admin.navigation_menus.summary.type') }= t('workarea.admin.navigation_menus.summary.type')
|
@@ -5,7 +5,7 @@
|
|
5
5
|
%span.discount__node
|
6
6
|
%span.property.property--inline
|
7
7
|
= text_field_tag 'discount[amount]', @discount.amount, class: 'text-box text-box--small', title: 'Amount of Discount', placeholder: '10', required: true
|
8
|
-
%span.discount__node off
|
8
|
+
%span.discount__node off the item's unit price
|
9
9
|
|
10
10
|
.discount__node-line
|
11
11
|
%p.discount__node-group
|
@@ -37,7 +37,7 @@
|
|
37
37
|
%ul.list-reset
|
38
38
|
- model.newest_rates.each do |rate|
|
39
39
|
%li
|
40
|
-
%strong= number_to_percentage(rate.percentage * 100,
|
40
|
+
%strong= number_to_percentage(rate.percentage * 100, strip_insignificant_zeros: true)
|
41
41
|
|
42
42
|
- if rate.tier_min.present? && rate.tier_max.present?
|
43
43
|
#{number_to_currency(rate.tier_min)} - #{number_to_currency(rate.tier_max)},
|
@@ -21,7 +21,7 @@
|
|
21
21
|
.grid__cell.grid__cell--50
|
22
22
|
.property
|
23
23
|
= label_tag 'rate_country_percentage', t('workarea.admin.tax_rates.index.table.country_percentage'), class: 'property__name'
|
24
|
-
= number_field_tag 'rate[country_percentage]', @rate.country_percentage * 100, min: 0, max: 100, step: 0.
|
24
|
+
= number_field_tag 'rate[country_percentage]', @rate.country_percentage.to_f * 100, min: 0, max: 100, step: '0.001', class: 'text-box text-box--i18n'
|
25
25
|
|
26
26
|
.grid__cell.grid__cell--50
|
27
27
|
.property
|
@@ -31,7 +31,7 @@
|
|
31
31
|
.grid__cell.grid__cell--50
|
32
32
|
.property
|
33
33
|
= label_tag 'rate_region_percentage', t('workarea.admin.tax_rates.index.table.region_percentage'), class: 'property__name'
|
34
|
-
= number_field_tag 'rate[region_percentage]', @rate.region_percentage * 100, min: 0, max: 100, step: 0.
|
34
|
+
= number_field_tag 'rate[region_percentage]', @rate.region_percentage.to_f * 100, min: 0, max: 100, step: '0.001', class: 'text-box text-box--i18n'
|
35
35
|
|
36
36
|
.grid__cell.grid__cell--50
|
37
37
|
.property
|
@@ -41,7 +41,7 @@
|
|
41
41
|
.grid__cell.grid__cell--50
|
42
42
|
.property
|
43
43
|
= label_tag 'rate_postal_code_percentage', t('workarea.admin.tax_rates.index.table.postal_code_percentage'), class: 'property__name'
|
44
|
-
= number_field_tag 'rate[postal_code_percentage]', @rate.postal_code_percentage * 100, min: 0, max: 100, step: 0.
|
44
|
+
= number_field_tag 'rate[postal_code_percentage]', @rate.postal_code_percentage.to_f * 100, min: 0, max: 100, step: '0.001', class: 'text-box text-box--i18n'
|
45
45
|
|
46
46
|
.grid__cell.grid__cell--33
|
47
47
|
.property
|
@@ -56,9 +56,9 @@
|
|
56
56
|
%td.align-center= rate.country.try(&:alpha2) || '-'
|
57
57
|
%td.align-center= rate.region || '-'
|
58
58
|
%td.align-center= rate.postal_code.presence || '-'
|
59
|
-
%td.align-center= number_to_percentage(rate.country_percentage * 100,
|
60
|
-
%td.align-center= number_to_percentage(rate.region_percentage * 100,
|
61
|
-
%td.align-center= number_to_percentage(rate.postal_code_percentage * 100,
|
59
|
+
%td.align-center= number_to_percentage(rate.country_percentage.to_f * 100, strip_insignificant_zeros: true)
|
60
|
+
%td.align-center= number_to_percentage(rate.region_percentage.to_f * 100, strip_insignificant_zeros: true)
|
61
|
+
%td.align-center= number_to_percentage(rate.postal_code_percentage.to_f * 100, strip_insignificant_zeros: true)
|
62
62
|
%td.align-center= rate.tier_min.present? ? number_to_currency(rate.tier_min) : t('workarea.admin.tax_rates.index.not_applicable')
|
63
63
|
%td.align-center= rate.tier_max.present? ? number_to_currency(rate.tier_max) : t('workarea.admin.tax_rates.index.not_applicable')
|
64
64
|
%td.align-center= rate.charge_on_shipping ? t('workarea.admin.true') : t('workarea.admin.false')
|
@@ -19,7 +19,7 @@
|
|
19
19
|
.grid__cell.grid__cell--50
|
20
20
|
.property
|
21
21
|
= label_tag 'rate_country_percentage', t('workarea.admin.tax_rates.index.table.country_percentage'), class: 'property__name'
|
22
|
-
= number_field_tag 'rate[country_percentage]', @rate.country_percentage * 100, min: 0, max: 100, step: 0.
|
22
|
+
= number_field_tag 'rate[country_percentage]', @rate.country_percentage.to_f * 100, min: 0, max: 100, step: '0.001', class: 'text-box'
|
23
23
|
|
24
24
|
.grid__cell.grid__cell--50
|
25
25
|
.property
|
@@ -29,7 +29,7 @@
|
|
29
29
|
.grid__cell.grid__cell--50
|
30
30
|
.property
|
31
31
|
= label_tag 'rate_region_percentage', t('workarea.admin.tax_rates.index.table.region_percentage'), class: 'property__name'
|
32
|
-
= number_field_tag 'rate[region_percentage]', @rate.region_percentage * 100, min: 0, max: 100, step: 0.
|
32
|
+
= number_field_tag 'rate[region_percentage]', @rate.region_percentage.to_f * 100, min: 0, max: 100, step: '0.001', class: 'text-box'
|
33
33
|
|
34
34
|
.grid__cell.grid__cell--50
|
35
35
|
.property
|
@@ -39,7 +39,7 @@
|
|
39
39
|
.grid__cell.grid__cell--50
|
40
40
|
.property
|
41
41
|
= label_tag 'rate_postal_code_percentage', t('workarea.admin.tax_rates.index.table.postal_code_percentage'), class: 'property__name'
|
42
|
-
= number_field_tag 'rate[postal_code_percentage]', @rate.postal_code_percentage * 100, min: 0, max: 100, step: 0.
|
42
|
+
= number_field_tag 'rate[postal_code_percentage]', @rate.postal_code_percentage.to_f * 100, min: 0, max: 100, step: '0.001', class: 'text-box'
|
43
43
|
|
44
44
|
.grid__cell.grid__cell--33
|
45
45
|
.property
|
@@ -81,6 +81,7 @@
|
|
81
81
|
= link_to current_impersonation.email, user_path(current_impersonation)
|
82
82
|
%br
|
83
83
|
= form_tag impersonations_path, method: 'delete', data: { disable_delete_confirmation: '' } do
|
84
|
+
= hidden_field_tag :return_to, return_to
|
84
85
|
= button_tag t('workarea.admin.toolbar.stop_impersonation'), class: 'text-button text-button--destroy'
|
85
86
|
|
86
87
|
- if allow_pricing_override?
|
data/config/locales/en.yml
CHANGED
@@ -4024,7 +4024,7 @@ en:
|
|
4024
4024
|
changes_saved: Your changes have been saved
|
4025
4025
|
saved: Your changes have been saved
|
4026
4026
|
started: You are now browsing as %{email}
|
4027
|
-
stopped: Impersonation
|
4027
|
+
stopped: Impersonation has been stopped, you are now browsing as your account.
|
4028
4028
|
created: This account has been created
|
4029
4029
|
error: There was an error saving this account
|
4030
4030
|
password_reset: Password reset created. User will receive an email shortly.
|
@@ -51,7 +51,14 @@ module Workarea
|
|
51
51
|
post admin.impersonations_path, params: { user_id: @user.id }
|
52
52
|
delete admin.impersonations_path
|
53
53
|
|
54
|
-
|
54
|
+
assert_redirected_to(admin.user_path(@user.id))
|
55
|
+
assert_equal(previous_user_id, session[:user_id])
|
56
|
+
assert(session[:admin_id].blank?)
|
57
|
+
|
58
|
+
post admin.impersonations_path, params: { user_id: @user.id }
|
59
|
+
delete admin.impersonations_path(return_to: '/foo')
|
60
|
+
|
61
|
+
assert_redirected_to('/foo')
|
55
62
|
assert_equal(previous_user_id, session[:user_id])
|
56
63
|
assert(session[:admin_id].blank?)
|
57
64
|
end
|
@@ -16,7 +16,7 @@ module Workarea
|
|
16
16
|
|
17
17
|
find('.message__dismiss-button').click
|
18
18
|
find('#shortcuts_menu').hover
|
19
|
-
|
19
|
+
refute_text('Current Page')
|
20
20
|
|
21
21
|
find('#shortcuts_menu').hover
|
22
22
|
menu_item = all('.menu__item').last
|
@@ -24,7 +24,7 @@ module Workarea
|
|
24
24
|
find('.menu__delete-link').click
|
25
25
|
assert_current_path(admin.root_path)
|
26
26
|
assert(page.has_content?('Success'))
|
27
|
-
|
27
|
+
refute_text('Current Page')
|
28
28
|
end
|
29
29
|
end
|
30
30
|
end
|
@@ -60,7 +60,7 @@ module Workarea
|
|
60
60
|
click_link t('workarea.admin.catalog.dashboard_link')
|
61
61
|
|
62
62
|
visit admin.catalog_products_path
|
63
|
-
|
63
|
+
refute_text('1 selected')
|
64
64
|
end
|
65
65
|
|
66
66
|
def test_persistence
|
@@ -85,7 +85,7 @@ module Workarea
|
|
85
85
|
click_button t('workarea.admin.catalog_products.index.edit')
|
86
86
|
click_link t('workarea.admin.form.cancel')
|
87
87
|
|
88
|
-
|
88
|
+
refute_text('3 selected')
|
89
89
|
end
|
90
90
|
|
91
91
|
def test_select_all
|
@@ -95,7 +95,7 @@ module Workarea
|
|
95
95
|
assert(page.has_content?("5 #{t('workarea.admin.shared.bulk_actions.selected')}"))
|
96
96
|
|
97
97
|
uncheck 'select_all'
|
98
|
-
|
98
|
+
refute_text(t('workarea.admin.shared.bulk_actions.selected'))
|
99
99
|
|
100
100
|
check 'select_all'
|
101
101
|
uncheck "catalog_product_#{@products.fifth.id}"
|
@@ -103,14 +103,14 @@ module Workarea
|
|
103
103
|
assert(page.has_content?("3 #{t('workarea.admin.shared.bulk_actions.selected')}"))
|
104
104
|
|
105
105
|
check 'select_all'
|
106
|
-
|
106
|
+
refute_text(t('workarea.admin.shared.bulk_actions.selected'))
|
107
107
|
|
108
108
|
check "catalog_product_#{@products.fifth.id}"
|
109
109
|
check "catalog_product_#{@products.fourth.id}"
|
110
110
|
assert(page.has_content?("2 #{t('workarea.admin.shared.bulk_actions.selected')}"))
|
111
111
|
|
112
112
|
check 'select_all'
|
113
|
-
|
113
|
+
refute_text(t('workarea.admin.shared.bulk_actions.selected'))
|
114
114
|
end
|
115
115
|
|
116
116
|
def test_bulk_editing
|
@@ -34,12 +34,9 @@ module Workarea
|
|
34
34
|
click_button 'Stop Impersonation'
|
35
35
|
end
|
36
36
|
|
37
|
-
assert_equal(
|
37
|
+
assert_equal(storefront.root_path, current_path)
|
38
38
|
assert(page.has_content?('Success'))
|
39
39
|
|
40
|
-
find('.view').hover # Ensure tooltipster menu isn't open
|
41
|
-
assert(page.has_content?('bcrouse@workarea.com'))
|
42
|
-
|
43
40
|
visit storefront.users_account_path
|
44
41
|
assert(page.has_no_content?('impersonated@workarea.com'))
|
45
42
|
|
@@ -71,9 +71,9 @@ module Workarea
|
|
71
71
|
|
72
72
|
row = find_all("table tr")[1]
|
73
73
|
within(row) do
|
74
|
-
|
75
|
-
|
76
|
-
|
74
|
+
refute_text('$11.00')
|
75
|
+
refute_text('$9.99')
|
76
|
+
refute_text('1')
|
77
77
|
end
|
78
78
|
end
|
79
79
|
end
|
@@ -65,8 +65,8 @@ module Workarea
|
|
65
65
|
assert(page.has_content?('Success'))
|
66
66
|
|
67
67
|
click_link 'Recommendations'
|
68
|
-
|
69
|
-
|
68
|
+
refute_selector("option[value='#{product_2.id}']")
|
69
|
+
refute_selector("option[value='#{product_3.id}']")
|
70
70
|
assert(page.has_ordered_text?('Custom', 'Similar Products', 'Also Purchased'))
|
71
71
|
|
72
72
|
#
|
@@ -49,8 +49,8 @@ module Workarea
|
|
49
49
|
click_link 'Published (1)'
|
50
50
|
end
|
51
51
|
|
52
|
-
|
53
|
-
|
52
|
+
refute_text('Scheduled Release')
|
53
|
+
refute_text('Unscheduled Release')
|
54
54
|
assert(page.has_content?('Published Release'))
|
55
55
|
end
|
56
56
|
|
@@ -277,7 +277,7 @@ module Workarea
|
|
277
277
|
|
278
278
|
click_link t('workarea.admin.releases.calendar.next_week')
|
279
279
|
wait_for_xhr
|
280
|
-
|
280
|
+
refute_text('Foo Release')
|
281
281
|
|
282
282
|
click_link t('workarea.admin.releases.calendar.previous_week')
|
283
283
|
wait_for_xhr
|
@@ -285,7 +285,7 @@ module Workarea
|
|
285
285
|
|
286
286
|
click_link t('workarea.admin.releases.calendar.next_week')
|
287
287
|
wait_for_xhr
|
288
|
-
|
288
|
+
refute_text('Foo Release')
|
289
289
|
|
290
290
|
click_button t('workarea.admin.releases.calendar.today')
|
291
291
|
wait_for_xhr
|
@@ -321,8 +321,8 @@ module Workarea
|
|
321
321
|
|
322
322
|
visit admin.releases_path
|
323
323
|
|
324
|
-
|
325
|
-
|
324
|
+
refute_text('Release Five')
|
325
|
+
refute_text('Release Six')
|
326
326
|
|
327
327
|
assert(
|
328
328
|
page.has_content?(
|
@@ -74,9 +74,9 @@ module Workarea
|
|
74
74
|
assert(page.has_content?('PA'))
|
75
75
|
assert(page.has_content?('19106'))
|
76
76
|
|
77
|
-
assert(page.has_content?('6
|
78
|
-
assert(page.has_content?('4
|
79
|
-
assert(page.has_content?('2
|
77
|
+
assert(page.has_content?('6%'))
|
78
|
+
assert(page.has_content?('4%'))
|
79
|
+
assert(page.has_content?('2%'))
|
80
80
|
|
81
81
|
assert(page.has_content?("#{Money.default_currency.symbol}5.00"))
|
82
82
|
assert(page.has_content?("#{Money.default_currency.symbol}500.00"))
|
@@ -91,7 +91,7 @@ module Workarea
|
|
91
91
|
click_link t('workarea.admin.actions.edit')
|
92
92
|
end
|
93
93
|
|
94
|
-
fill_in 'rate[country_percentage]', with: 0
|
94
|
+
fill_in 'rate[country_percentage]', with: 0.005
|
95
95
|
fill_in 'rate[region_percentage]', with: 10
|
96
96
|
fill_in 'rate[postal_code_percentage]', with: 20.5
|
97
97
|
|
@@ -100,7 +100,8 @@ module Workarea
|
|
100
100
|
assert(page.has_content?('Success'))
|
101
101
|
|
102
102
|
within '.index-table__row' do
|
103
|
-
assert(page.has_content?('
|
103
|
+
assert(page.has_content?('0.005%'))
|
104
|
+
assert(page.has_content?('10%'))
|
104
105
|
assert(page.has_content?('20.5%'))
|
105
106
|
end
|
106
107
|
|
@@ -33,8 +33,8 @@ module Workarea
|
|
33
33
|
click_button 'remove_taxon', match: :first
|
34
34
|
|
35
35
|
assert(page.has_content?('Success'))
|
36
|
-
|
37
|
-
|
36
|
+
refute_text('First Taxon')
|
37
|
+
refute_text('Second Taxon')
|
38
38
|
end
|
39
39
|
end
|
40
40
|
end
|
@@ -21,7 +21,7 @@ module Workarea
|
|
21
21
|
)
|
22
22
|
end
|
23
23
|
|
24
|
-
def
|
24
|
+
def test_variant_details
|
25
25
|
@view_model.variants.build(
|
26
26
|
sku: 'SKU1',
|
27
27
|
name: 'name',
|
@@ -40,7 +40,7 @@ module Workarea
|
|
40
40
|
|
41
41
|
assert_equal(
|
42
42
|
{ 'Color' => ['Red', 'Black', 'White'], 'Size' => ['S', 'M', 'L'] },
|
43
|
-
@view_model.
|
43
|
+
@view_model.variant_details
|
44
44
|
)
|
45
45
|
end
|
46
46
|
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: workarea-admin
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 3.5.
|
4
|
+
version: 3.5.20
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Ben Crouse
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2020-09-
|
11
|
+
date: 2020-09-30 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: workarea-core
|
@@ -16,28 +16,28 @@ dependencies:
|
|
16
16
|
requirements:
|
17
17
|
- - '='
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version: 3.5.
|
19
|
+
version: 3.5.20
|
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: 3.5.
|
26
|
+
version: 3.5.20
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: workarea-storefront
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
30
30
|
requirements:
|
31
31
|
- - '='
|
32
32
|
- !ruby/object:Gem::Version
|
33
|
-
version: 3.5.
|
33
|
+
version: 3.5.20
|
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: 3.5.
|
40
|
+
version: 3.5.20
|
41
41
|
description: Provides site administration functionality for the Workarea Commerce
|
42
42
|
Platform.
|
43
43
|
email:
|