workarea-core 3.5.0.beta.1 → 3.5.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/app/controllers/workarea/current_tracking.rb +4 -0
- data/app/models/workarea/checkout/collect_payment.rb +5 -5
- data/app/models/workarea/data_file/operation.rb +4 -0
- data/app/models/workarea/fulfillment/policies/base.rb +0 -4
- data/app/models/workarea/fulfillment/policies/{ignore.rb → shipping.rb} +2 -2
- data/app/models/workarea/fulfillment/sku.rb +0 -2
- data/app/models/workarea/insights/trending_searches.rb +8 -1
- data/app/models/workarea/metrics/search_by_day.rb +2 -0
- data/app/models/workarea/order.rb +12 -2
- data/app/models/workarea/order/item.rb +28 -2
- data/app/models/workarea/pricing/calculators/tax_calculator.rb +2 -2
- data/app/models/workarea/pricing/discount.rb +3 -2
- data/app/models/workarea/releasable.rb +3 -5
- data/app/models/workarea/reports/custom_event.rb +22 -0
- data/app/models/workarea/search/admin/releasable.rb +18 -6
- data/app/models/workarea/segment/life_cycle.rb +5 -5
- data/app/models/workarea/segment/rules/last_order.rb +9 -2
- data/app/models/workarea/segment/rules/traffic_referrer.rb +16 -5
- data/app/models/workarea/segmentable.rb +13 -0
- data/app/models/workarea/traffic_referrer.rb +3 -0
- data/app/queries/workarea/alerts.rb +21 -0
- data/app/queries/workarea/order_item_details.rb +16 -16
- data/app/queries/workarea/search/admin_index_search.rb +2 -1
- data/app/queries/workarea/search/product_display_rules.rb +0 -2
- data/app/services/workarea/direct_upload.rb +5 -0
- data/app/services/workarea/packaging.rb +1 -1
- data/app/workers/workarea/deactivate_stale_discounts.rb +1 -1
- data/app/workers/workarea/synchronize_user_metrics.rb +9 -0
- data/config/locales/en.yml +22 -0
- data/lib/tasks/migrate.rake +9 -12
- data/lib/workarea/configuration.rb +6 -6
- data/lib/workarea/configuration/redis.rb +21 -3
- data/lib/workarea/core.rb +3 -0
- data/lib/workarea/ext/freedom_patches/referer_parser.rb +7 -0
- data/lib/workarea/ext/mongoid/embedded_children.rb +20 -0
- data/lib/workarea/latest_version.rb +24 -0
- data/lib/workarea/ping_home_base.rb +0 -1
- data/lib/workarea/version.rb +1 -1
- data/lib/workarea/visit.rb +5 -2
- data/lib/workarea/warnings.rb +6 -6
- data/test/lib/workarea/ext/mongoid/embedded_children_test.rb +32 -0
- data/test/lib/workarea/latest_version_test.rb +11 -0
- data/test/models/workarea/checkout/collect_payment_test.rb +6 -6
- data/test/models/workarea/data_file/csv_test.rb +15 -0
- data/test/models/workarea/fulfillment/sku_test.rb +5 -5
- data/test/models/workarea/insights/cold_searches_test.rb +13 -11
- data/test/models/workarea/insights/hot_searches_test.rb +13 -11
- data/test/models/workarea/insights/searches_to_improve_test.rb +9 -6
- data/test/models/workarea/insights/star_searches_test.rb +5 -4
- data/test/models/workarea/insights/trending_searches_test.rb +12 -9
- data/test/models/workarea/pricing/calculators/tax_calculator_test.rb +1 -1
- data/test/models/workarea/search/admin/releasable_test.rb +5 -7
- data/test/models/workarea/segment/life_cycle_test.rb +5 -0
- data/test/models/workarea/segment/rules/last_order_test.rb +15 -3
- data/test/models/workarea/segment/rules/traffic_referrer_test.rb +10 -8
- data/test/models/workarea/segmentable_test.rb +18 -0
- data/test/queries/workarea/alerts_test.rb +11 -0
- data/test/queries/workarea/order_item_details_test.rb +4 -12
- data/test/services/workarea/direct_upload_test.rb +3 -0
- data/test/vcr_cassettes/get_latest_version.yml +90 -0
- data/test/workers/workarea/deactivate_stale_discounts_test.rb +2 -2
- data/workarea-core.gemspec +2 -3
- metadata +16 -25
- data/app/controllers/workarea/current_referrer.rb +0 -14
- data/app/models/workarea/fulfillment/policies/ship.rb +0 -15
@@ -9,23 +9,21 @@ module Workarea
|
|
9
9
|
end
|
10
10
|
|
11
11
|
def test_facets
|
12
|
-
releasable = create_page(name: 'Foo')
|
12
|
+
releasable = create_page(name: 'Foo', active_segment_ids: %w(foo bar))
|
13
|
+
content = Workarea::Content.for(releasable)
|
14
|
+
content.blocks.create!(type: 'html', active_segment_ids: %w(bar baz))
|
13
15
|
|
14
16
|
release_one = create_release
|
15
17
|
release_two = create_release
|
16
18
|
release_three = create_release
|
17
19
|
|
18
20
|
release_one.as_current { releasable.update_attributes!(name: 'Bar') }
|
19
|
-
|
20
|
-
release_two.as_current do
|
21
|
-
content = Workarea::Content.for(releasable)
|
22
|
-
content.update_attributes!(browser_title: 'Foo')
|
23
|
-
end
|
24
|
-
|
21
|
+
release_two.as_current { content.update_attributes!(browser_title: 'Foo') }
|
25
22
|
release_three.as_current { releasable.update_attributes!(name: 'Bar') }
|
26
23
|
release_three.update_attributes!(published_at: Time.current)
|
27
24
|
|
28
25
|
search_model = Foo.new(releasable)
|
26
|
+
assert_equal(search_model.facets[:active_by_segment], %w(foo bar baz))
|
29
27
|
assert_includes(search_model.facets[:upcoming_changes], release_one.id)
|
30
28
|
assert_includes(search_model.facets[:upcoming_changes], release_two.id)
|
31
29
|
refute_includes(search_model.facets[:upcoming_changes], release_three.id)
|
@@ -8,6 +8,11 @@ module Workarea
|
|
8
8
|
self.default_rules = [Rules::Orders.new(maximum: 0)]
|
9
9
|
end
|
10
10
|
|
11
|
+
def test_name_given
|
12
|
+
life_cycle = FooSegment.instance # create it
|
13
|
+
assert_equal('Foo Segment', life_cycle.name)
|
14
|
+
end
|
15
|
+
|
11
16
|
def test_cannot_destroy
|
12
17
|
life_cycle = FooSegment.instance # create it
|
13
18
|
|
@@ -16,15 +16,27 @@ module Workarea
|
|
16
16
|
|
17
17
|
metrics.update_attributes!(last_order_at: 8.days.ago)
|
18
18
|
visit = create_visit(email: 'bcrouse@workarea.com')
|
19
|
-
refute(LastOrder.new(days: 7).qualifies?(visit))
|
19
|
+
refute(LastOrder.new(days: 7, within: true).qualifies?(visit))
|
20
|
+
|
21
|
+
metrics.update_attributes!(last_order_at: 7.days.ago)
|
22
|
+
visit = create_visit(email: 'bcrouse@workarea.com')
|
23
|
+
assert(LastOrder.new(days: 7, within: true).qualifies?(visit))
|
24
|
+
|
25
|
+
metrics.update_attributes!(last_order_at: 6.days.ago)
|
26
|
+
visit = create_visit(email: 'bcrouse@workarea.com')
|
27
|
+
assert(LastOrder.new(days: 7, within: true).qualifies?(visit))
|
28
|
+
|
29
|
+
metrics.update_attributes!(last_order_at: 8.days.ago)
|
30
|
+
visit = create_visit(email: 'bcrouse@workarea.com')
|
31
|
+
assert(LastOrder.new(days: 7, within: false).qualifies?(visit))
|
20
32
|
|
21
33
|
metrics.update_attributes!(last_order_at: 7.days.ago)
|
22
34
|
visit = create_visit(email: 'bcrouse@workarea.com')
|
23
|
-
|
35
|
+
refute(LastOrder.new(days: 7, within: false).qualifies?(visit))
|
24
36
|
|
25
37
|
metrics.update_attributes!(last_order_at: 6.days.ago)
|
26
38
|
visit = create_visit(email: 'bcrouse@workarea.com')
|
27
|
-
|
39
|
+
refute(LastOrder.new(days: 7, within: false).qualifies?(visit))
|
28
40
|
end
|
29
41
|
end
|
30
42
|
end
|
@@ -12,18 +12,20 @@ module Workarea
|
|
12
12
|
refute(TrafficReferrer.new.qualifies?(visit))
|
13
13
|
|
14
14
|
visit = create_visit('HTTP_REFERER' => 'https://www.google.com/')
|
15
|
-
assert(TrafficReferrer.new(source:
|
16
|
-
|
15
|
+
assert(TrafficReferrer.new(source: %w(Google)).qualifies?(visit))
|
16
|
+
refute(TrafficReferrer.new(source: %w(Yahoo!)).qualifies?(visit))
|
17
17
|
assert(TrafficReferrer.new(medium: 'Search').qualifies?(visit))
|
18
|
-
refute(TrafficReferrer.new(
|
19
|
-
|
18
|
+
refute(TrafficReferrer.new(medium: 'Social').qualifies?(visit))
|
19
|
+
assert(TrafficReferrer.new(url: 'google').qualifies?(visit))
|
20
|
+
refute(TrafficReferrer.new(url: 'twitter').qualifies?(visit))
|
20
21
|
|
21
22
|
visit = create_visit('HTTP_REFERER' => 'https://www.facebook.com/')
|
22
|
-
|
23
|
-
refute(TrafficReferrer.new(
|
24
|
-
assert(TrafficReferrer.new(source: 'facebook ').qualifies?(visit))
|
23
|
+
assert(TrafficReferrer.new(source: %w(Facebook)).qualifies?(visit))
|
24
|
+
refute(TrafficReferrer.new(source: %w(Google)).qualifies?(visit))
|
25
25
|
assert(TrafficReferrer.new(medium: 'Social').qualifies?(visit))
|
26
|
-
|
26
|
+
refute(TrafficReferrer.new(medium: 'Search').qualifies?(visit))
|
27
|
+
assert(TrafficReferrer.new(url: 'www').qualifies?(visit))
|
28
|
+
refute(TrafficReferrer.new(url: 'facebook$').qualifies?(visit))
|
27
29
|
end
|
28
30
|
end
|
29
31
|
end
|
@@ -6,6 +6,13 @@ module Workarea
|
|
6
6
|
include Mongoid::Document
|
7
7
|
include Releasable
|
8
8
|
include Segmentable
|
9
|
+
embeds_many :bars
|
10
|
+
end
|
11
|
+
|
12
|
+
class Bar
|
13
|
+
include Mongoid::Document
|
14
|
+
include Releasable
|
15
|
+
include Segmentable
|
9
16
|
end
|
10
17
|
|
11
18
|
def test_active_by_segment
|
@@ -70,5 +77,16 @@ module Workarea
|
|
70
77
|
Segment.with_current(segment_one) { assert(model.reload.active?) }
|
71
78
|
Segment.with_current(segment_two) { refute(model.reload.active?) }
|
72
79
|
end
|
80
|
+
|
81
|
+
def test_active_segment_ids_with_children
|
82
|
+
model = Foo.new
|
83
|
+
assert_equal([], model.active_segment_ids_with_children)
|
84
|
+
|
85
|
+
model.active_segment_ids = %w(foo)
|
86
|
+
assert_equal(%w(foo), model.active_segment_ids_with_children)
|
87
|
+
|
88
|
+
model.bars = [{ active_segment_ids: %w(bar) }, { active_segment_ids: %w(baz) }]
|
89
|
+
assert_equal(%w(foo bar baz), model.active_segment_ids_with_children)
|
90
|
+
end
|
73
91
|
end
|
74
92
|
end
|
@@ -127,5 +127,16 @@ module Workarea
|
|
127
127
|
|
128
128
|
assert_equal([empty], Alerts.new.empty_upcoming_releases)
|
129
129
|
end
|
130
|
+
|
131
|
+
def test_missing_segments
|
132
|
+
segment = create_segment
|
133
|
+
product = create_product(active: true, active_segment_ids: [segment.id])
|
134
|
+
IndexAdminSearch.perform(product)
|
135
|
+
|
136
|
+
assert_equal([], Alerts.new.missing_segments)
|
137
|
+
|
138
|
+
segment.destroy!
|
139
|
+
assert_equal([segment.id.to_s], Alerts.new.missing_segments)
|
140
|
+
end
|
130
141
|
end
|
131
142
|
end
|
@@ -12,20 +12,12 @@ module Workarea
|
|
12
12
|
assert_nil(OrderItemDetails.find('SKU1'))
|
13
13
|
end
|
14
14
|
|
15
|
-
def
|
15
|
+
def test_fulfillment
|
16
16
|
product = create_product(variants: [{ sku: 'SKU', regular: 5.00 }])
|
17
|
+
assert_equal('shipping', OrderItemDetails.find('SKU').to_h[:fulfillment])
|
17
18
|
|
18
|
-
|
19
|
-
|
20
|
-
product.update(digital: true)
|
21
|
-
refute(OrderItemDetails.find('SKU').requires_shipping?)
|
22
|
-
|
23
|
-
product.update(digital: false)
|
24
|
-
sku = create_fulfillment_sku(id: 'SKU', policy: :ignore)
|
25
|
-
refute(OrderItemDetails.find('SKU').requires_shipping?)
|
26
|
-
|
27
|
-
sku.update(policy: :download, file: product_image_file)
|
28
|
-
refute(OrderItemDetails.find('SKU').requires_shipping?)
|
19
|
+
sku = create_fulfillment_sku(id: 'SKU', policy: 'download', file: product_image_file)
|
20
|
+
assert_equal('download', OrderItemDetails.find('SKU').to_h[:fulfillment])
|
29
21
|
end
|
30
22
|
|
31
23
|
def test_to_h
|
@@ -83,8 +83,11 @@ module Workarea
|
|
83
83
|
|
84
84
|
|
85
85
|
assert(DirectUpload.ensure_cors!('http://test.host/admin/content_assets'))
|
86
|
+
assert_equal('true', Workarea.redis.get('cors_http_test_host'))
|
86
87
|
assert(DirectUpload.ensure_cors!('http://localhost:3000/admin/content_assets'))
|
88
|
+
assert_equal('true', Workarea.redis.get('cors_http_localhost_3000'))
|
87
89
|
assert(DirectUpload.ensure_cors!('https://example.com/admin/direct_uploads'))
|
90
|
+
assert_equal('true', Workarea.redis.get('cors_https_example_com'))
|
88
91
|
end
|
89
92
|
|
90
93
|
private
|
@@ -0,0 +1,90 @@
|
|
1
|
+
---
|
2
|
+
http_interactions:
|
3
|
+
- request:
|
4
|
+
method: get
|
5
|
+
uri: https://rubygems.org/api/v1/gems/workarea.json
|
6
|
+
body:
|
7
|
+
encoding: US-ASCII
|
8
|
+
string: ''
|
9
|
+
headers:
|
10
|
+
Accept-Encoding:
|
11
|
+
- gzip;q=1.0,deflate;q=0.6,identity;q=0.3
|
12
|
+
Accept:
|
13
|
+
- "*/*"
|
14
|
+
User-Agent:
|
15
|
+
- Ruby
|
16
|
+
Content-Type:
|
17
|
+
- application/json
|
18
|
+
response:
|
19
|
+
status:
|
20
|
+
code: 200
|
21
|
+
message: OK
|
22
|
+
headers:
|
23
|
+
Content-Type:
|
24
|
+
- application/json; charset=utf-8
|
25
|
+
X-Frame-Options:
|
26
|
+
- SAMEORIGIN
|
27
|
+
X-Xss-Protection:
|
28
|
+
- 1; mode=block
|
29
|
+
X-Content-Type-Options:
|
30
|
+
- nosniff
|
31
|
+
X-Download-Options:
|
32
|
+
- noopen
|
33
|
+
X-Permitted-Cross-Domain-Policies:
|
34
|
+
- none
|
35
|
+
Referrer-Policy:
|
36
|
+
- strict-origin-when-cross-origin
|
37
|
+
Access-Control-Allow-Origin:
|
38
|
+
- "*"
|
39
|
+
Access-Control-Allow-Methods:
|
40
|
+
- GET
|
41
|
+
Access-Control-Max-Age:
|
42
|
+
- '1728000'
|
43
|
+
Cache-Control:
|
44
|
+
- max-age=0, private, must-revalidate
|
45
|
+
X-Request-Id:
|
46
|
+
- d6394d50-39fa-47e9-8bf2-95934b5a81f2
|
47
|
+
X-Runtime:
|
48
|
+
- '0.016960'
|
49
|
+
Strict-Transport-Security:
|
50
|
+
- max-age=120
|
51
|
+
X-Backend:
|
52
|
+
- F_Rails 54.186.104.15:443
|
53
|
+
Accept-Ranges:
|
54
|
+
- bytes
|
55
|
+
- bytes
|
56
|
+
Age:
|
57
|
+
- '0'
|
58
|
+
- '0'
|
59
|
+
Transfer-Encoding:
|
60
|
+
- chunked
|
61
|
+
Date:
|
62
|
+
- Wed, 20 Nov 2019 17:06:57 GMT
|
63
|
+
Via:
|
64
|
+
- 1.1 varnish
|
65
|
+
Connection:
|
66
|
+
- keep-alive
|
67
|
+
X-Served-By:
|
68
|
+
- cache-mia17625-MIA
|
69
|
+
X-Cache:
|
70
|
+
- MISS
|
71
|
+
X-Cache-Hits:
|
72
|
+
- '0'
|
73
|
+
X-Timer:
|
74
|
+
- S1574269618.874178,VS0,VE106
|
75
|
+
Vary:
|
76
|
+
- Accept-Encoding,Fastly-SSL
|
77
|
+
Etag:
|
78
|
+
- '"867cab3200a545c2c4f8be4b5ae4398a"'
|
79
|
+
Server:
|
80
|
+
- RubyGems.org
|
81
|
+
body:
|
82
|
+
encoding: ASCII-8BIT
|
83
|
+
string: '{"name":"workarea","downloads":6177,"version":"3.4.21","version_downloads":240,"platform":"ruby","authors":"Ben
|
84
|
+
Crouse","info":"Workarea is an enterprise-grade Ruby on Rails commerce platform.","licenses":["Business
|
85
|
+
Software License"],"metadata":{},"yanked":false,"sha":"ec79083b5dde751f4bca7a384ef132afbded16660344d4343144b0b3f4d3b57d","project_uri":"https://rubygems.org/gems/workarea","gem_uri":"https://rubygems.org/gems/workarea-3.4.21.gem","homepage_uri":"http://www.workarea.com","wiki_uri":null,"documentation_uri":"http://www.rubydoc.info/gems/workarea/3.4.21","mailing_list_uri":null,"source_code_uri":null,"bug_tracker_uri":null,"changelog_uri":null,"dependencies":{"development":[],"runtime":[{"name":"workarea-admin","requirements":"=
|
86
|
+
3.4.21"},{"name":"workarea-core","requirements":"= 3.4.21"},{"name":"workarea-storefront","requirements":"=
|
87
|
+
3.4.21"},{"name":"workarea-testing","requirements":"= 3.4.21"}]}}'
|
88
|
+
http_version:
|
89
|
+
recorded_at: Wed, 20 Nov 2019 17:06:57 GMT
|
90
|
+
recorded_with: VCR 2.9.3
|
@@ -4,7 +4,7 @@ module Workarea
|
|
4
4
|
class DeactivateStaleDiscountsTest < TestCase
|
5
5
|
def create_category_discount(attributes = {})
|
6
6
|
before_ttl = (Workarea.config.discount_staleness_ttl + 1.day).ago
|
7
|
-
super(attributes.reverse_merge(
|
7
|
+
super(attributes.reverse_merge(updated_at: before_ttl))
|
8
8
|
end
|
9
9
|
|
10
10
|
def test_perform
|
@@ -71,7 +71,7 @@ module Workarea
|
|
71
71
|
end
|
72
72
|
|
73
73
|
def test_all_active_discount_ids
|
74
|
-
too_new = create_category_discount(active: true,
|
74
|
+
too_new = create_category_discount(active: true, updated_at: Time.current)
|
75
75
|
active = create_category_discount(active: true)
|
76
76
|
|
77
77
|
worker = DeactivateStaleDiscounts.new
|
data/workarea-core.gemspec
CHANGED
@@ -17,7 +17,6 @@ Gem::Specification.new do |s|
|
|
17
17
|
s.add_dependency 'bundler', '>= 1.8.0' # 1.8.0 added env variable for secrets
|
18
18
|
s.add_dependency 'rails', '~> 5.2.0'
|
19
19
|
s.add_dependency 'mongoid', '~> 6.4.0'
|
20
|
-
s.add_dependency 'bson', '~> 4.3.0'
|
21
20
|
s.add_dependency 'bcrypt', '~> 3.1.10'
|
22
21
|
s.add_dependency 'money-rails', '~> 1.12.0'
|
23
22
|
s.add_dependency 'mongoid-audit_log', '>= 0.5.0'
|
@@ -35,7 +34,7 @@ Gem::Specification.new do |s|
|
|
35
34
|
s.add_dependency 'sidekiq-unique-jobs', '~> 6.0.6'
|
36
35
|
s.add_dependency 'sidekiq-throttled', '~> 0.8.2'
|
37
36
|
s.add_dependency 'geocoder', '~> 1.4.4'
|
38
|
-
s.add_dependency 'redis-rack-cache', '~> 2.0
|
37
|
+
s.add_dependency 'redis-rack-cache', '~> 2.2.0'
|
39
38
|
s.add_dependency 'easymon', '~> 1.4.0'
|
40
39
|
s.add_dependency 'image_optim', '~> 0.26.0'
|
41
40
|
s.add_dependency 'image_optim_pack', '0.5.0.20171101'
|
@@ -92,7 +91,7 @@ Gem::Specification.new do |s|
|
|
92
91
|
s.add_dependency 'referer-parser', '~> 0.3.0'
|
93
92
|
s.add_dependency 'serviceworker-rails', '~> 0.5.5'
|
94
93
|
s.add_dependency 'logstasher', '~> 1.2.2'
|
95
|
-
s.add_dependency 'chartkick', '~> 3.
|
94
|
+
s.add_dependency 'chartkick', '~> 3.3.0'
|
96
95
|
s.add_dependency 'puma', '~> 4.0'
|
97
96
|
s.add_dependency 'browser', '~> 2.6.1'
|
98
97
|
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: workarea-core
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 3.5.0
|
4
|
+
version: 3.5.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Ben Crouse
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2019-11-
|
11
|
+
date: 2019-11-26 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -52,20 +52,6 @@ dependencies:
|
|
52
52
|
- - "~>"
|
53
53
|
- !ruby/object:Gem::Version
|
54
54
|
version: 6.4.0
|
55
|
-
- !ruby/object:Gem::Dependency
|
56
|
-
name: bson
|
57
|
-
requirement: !ruby/object:Gem::Requirement
|
58
|
-
requirements:
|
59
|
-
- - "~>"
|
60
|
-
- !ruby/object:Gem::Version
|
61
|
-
version: 4.3.0
|
62
|
-
type: :runtime
|
63
|
-
prerelease: false
|
64
|
-
version_requirements: !ruby/object:Gem::Requirement
|
65
|
-
requirements:
|
66
|
-
- - "~>"
|
67
|
-
- !ruby/object:Gem::Version
|
68
|
-
version: 4.3.0
|
69
55
|
- !ruby/object:Gem::Dependency
|
70
56
|
name: bcrypt
|
71
57
|
requirement: !ruby/object:Gem::Requirement
|
@@ -310,14 +296,14 @@ dependencies:
|
|
310
296
|
requirements:
|
311
297
|
- - "~>"
|
312
298
|
- !ruby/object:Gem::Version
|
313
|
-
version: 2.0
|
299
|
+
version: 2.2.0
|
314
300
|
type: :runtime
|
315
301
|
prerelease: false
|
316
302
|
version_requirements: !ruby/object:Gem::Requirement
|
317
303
|
requirements:
|
318
304
|
- - "~>"
|
319
305
|
- !ruby/object:Gem::Version
|
320
|
-
version: 2.0
|
306
|
+
version: 2.2.0
|
321
307
|
- !ruby/object:Gem::Dependency
|
322
308
|
name: easymon
|
323
309
|
requirement: !ruby/object:Gem::Requirement
|
@@ -1114,14 +1100,14 @@ dependencies:
|
|
1114
1100
|
requirements:
|
1115
1101
|
- - "~>"
|
1116
1102
|
- !ruby/object:Gem::Version
|
1117
|
-
version: 3.
|
1103
|
+
version: 3.3.0
|
1118
1104
|
type: :runtime
|
1119
1105
|
prerelease: false
|
1120
1106
|
version_requirements: !ruby/object:Gem::Requirement
|
1121
1107
|
requirements:
|
1122
1108
|
- - "~>"
|
1123
1109
|
- !ruby/object:Gem::Version
|
1124
|
-
version: 3.
|
1110
|
+
version: 3.3.0
|
1125
1111
|
- !ruby/object:Gem::Dependency
|
1126
1112
|
name: puma
|
1127
1113
|
requirement: !ruby/object:Gem::Requirement
|
@@ -1222,7 +1208,6 @@ files:
|
|
1222
1208
|
- app/controllers/workarea/application_controller.rb
|
1223
1209
|
- app/controllers/workarea/authentication.rb
|
1224
1210
|
- app/controllers/workarea/authorization.rb
|
1225
|
-
- app/controllers/workarea/current_referrer.rb
|
1226
1211
|
- app/controllers/workarea/current_release.rb
|
1227
1212
|
- app/controllers/workarea/current_segments.rb
|
1228
1213
|
- app/controllers/workarea/current_tracking.rb
|
@@ -1329,8 +1314,7 @@ files:
|
|
1329
1314
|
- app/models/workarea/fulfillment/package.rb
|
1330
1315
|
- app/models/workarea/fulfillment/policies/base.rb
|
1331
1316
|
- app/models/workarea/fulfillment/policies/download.rb
|
1332
|
-
- app/models/workarea/fulfillment/policies/
|
1333
|
-
- app/models/workarea/fulfillment/policies/ship.rb
|
1317
|
+
- app/models/workarea/fulfillment/policies/shipping.rb
|
1334
1318
|
- app/models/workarea/fulfillment/sku.rb
|
1335
1319
|
- app/models/workarea/fulfillment/status.rb
|
1336
1320
|
- app/models/workarea/fulfillment/token.rb
|
@@ -1516,6 +1500,7 @@ files:
|
|
1516
1500
|
- app/models/workarea/release/preview.rb
|
1517
1501
|
- app/models/workarea/release/status.rb
|
1518
1502
|
- app/models/workarea/release_session.rb
|
1503
|
+
- app/models/workarea/reports/custom_event.rb
|
1519
1504
|
- app/models/workarea/reports/export.rb
|
1520
1505
|
- app/models/workarea/search/admin.rb
|
1521
1506
|
- app/models/workarea/search/admin/catalog_category.rb
|
@@ -1939,12 +1924,14 @@ files:
|
|
1939
1924
|
- lib/workarea/ext/freedom_patches/mongoid_simple_tags.rb
|
1940
1925
|
- lib/workarea/ext/freedom_patches/net_http_ssl_connection.rb
|
1941
1926
|
- lib/workarea/ext/freedom_patches/premailer.rb
|
1927
|
+
- lib/workarea/ext/freedom_patches/referer_parser.rb
|
1942
1928
|
- lib/workarea/ext/freedom_patches/routes_reloader.rb
|
1943
1929
|
- lib/workarea/ext/freedom_patches/string.rb
|
1944
1930
|
- lib/workarea/ext/freedom_patches/uri.rb
|
1945
1931
|
- lib/workarea/ext/jbuilder/jbuilder_append_partials.rb
|
1946
1932
|
- lib/workarea/ext/mongoid/audit_log_entry.decorator
|
1947
1933
|
- lib/workarea/ext/mongoid/each_by.rb
|
1934
|
+
- lib/workarea/ext/mongoid/embedded_children.rb
|
1948
1935
|
- lib/workarea/ext/mongoid/error.rb
|
1949
1936
|
- lib/workarea/ext/mongoid/except.rb
|
1950
1937
|
- lib/workarea/ext/mongoid/find_ordered.rb
|
@@ -1957,6 +1944,7 @@ files:
|
|
1957
1944
|
- lib/workarea/geolocation.rb
|
1958
1945
|
- lib/workarea/i18n.rb
|
1959
1946
|
- lib/workarea/image_optim_processor.rb
|
1947
|
+
- lib/workarea/latest_version.rb
|
1960
1948
|
- lib/workarea/lint.rb
|
1961
1949
|
- lib/workarea/lint/inconsistent_details.rb
|
1962
1950
|
- lib/workarea/lint/products_missing_images.rb
|
@@ -2095,11 +2083,13 @@ files:
|
|
2095
2083
|
- test/lib/workarea/ext/freedom_patches/mongoid_simple_tags_test.rb
|
2096
2084
|
- test/lib/workarea/ext/mongoid/audit_log_entry_test.rb
|
2097
2085
|
- test/lib/workarea/ext/mongoid/each_by_test.rb
|
2086
|
+
- test/lib/workarea/ext/mongoid/embedded_children_test.rb
|
2098
2087
|
- test/lib/workarea/ext/mongoid/except_test.rb
|
2099
2088
|
- test/lib/workarea/ext/mongoid/find_ordered_test.rb
|
2100
2089
|
- test/lib/workarea/ext/mongoid/list_field_test.rb
|
2101
2090
|
- test/lib/workarea/ext/mongoid/lookup_hash_test.rb
|
2102
2091
|
- test/lib/workarea/geolocation_test.rb
|
2092
|
+
- test/lib/workarea/latest_version_test.rb
|
2103
2093
|
- test/lib/workarea/lint/inconsistent_details_test.rb
|
2104
2094
|
- test/lib/workarea/lint/products_missing_images_test.rb
|
2105
2095
|
- test/lib/workarea/lint/products_missing_variants_test.rb
|
@@ -2443,6 +2433,7 @@ files:
|
|
2443
2433
|
- test/teaspoon_env.rb
|
2444
2434
|
- test/test_helper.rb
|
2445
2435
|
- test/vcr_cassettes/csv_image_upload.yml
|
2436
|
+
- test/vcr_cassettes/get_latest_version.yml
|
2446
2437
|
- test/view_models/workarea/shipping_carrier_view_model_test.rb
|
2447
2438
|
- test/workarea_test.rb
|
2448
2439
|
- test/workers/sidekiq/callbacks_test.rb
|
@@ -2722,9 +2713,9 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
2722
2713
|
version: 2.7.0
|
2723
2714
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
2724
2715
|
requirements:
|
2725
|
-
- - "
|
2716
|
+
- - ">="
|
2726
2717
|
- !ruby/object:Gem::Version
|
2727
|
-
version:
|
2718
|
+
version: '0'
|
2728
2719
|
requirements: []
|
2729
2720
|
rubygems_version: 3.0.6
|
2730
2721
|
signing_key:
|