workarea-core 3.5.22 → 3.5.27
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/models/workarea/configuration/params.rb +3 -1
- data/app/models/workarea/release.rb +2 -3
- data/app/models/workarea/release/changeset.rb +27 -1
- data/app/models/workarea/search/admin.rb +7 -3
- data/app/models/workarea/search/admin/releasable.rb +3 -1
- data/app/models/workarea/search/admin/search_customization.rb +25 -0
- data/app/workers/workarea/build_release_undo_changesets.rb +23 -0
- data/app/workers/workarea/index_admin_search.rb +6 -1
- data/config/initializers/00_configuration.rb +1 -0
- data/lib/workarea/configuration/administrable/field.rb +1 -1
- data/lib/workarea/configuration/localized_active_fields.rb +1 -1
- data/lib/workarea/tasks/services.rb +1 -1
- data/lib/workarea/version.rb +1 -1
- data/test/lib/workarea/configuration/administrable/field_test.rb +8 -0
- data/test/models/workarea/configuration/params_test.rb +3 -0
- data/test/models/workarea/releasable_active_test.rb +16 -8
- data/test/models/workarea/release/changeset_test.rb +17 -0
- data/test/models/workarea/search/admin/releasable_test.rb +14 -0
- data/test/workers/workarea/build_release_undo_changesets_test.rb +26 -0
- data/test/workers/workarea/index_admin_search_test.rb +21 -0
- data/workarea-core.gemspec +2 -2
- metadata +22 -13
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 32ecae47fa5ca7ba205b50342ca4e7bc8cbe85981eff0ffe1f40bb60499f7665
|
4
|
+
data.tar.gz: c4b7d437765e253511e50774d8fdfc005b5e2bad6d8831e1b3e1a25c2ac4c346
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: f2e1c494c51dc1cb87d6051ab653ae8a998c32a44a9d469a0e289fe4eb5b9f7132afc29bf4b97ecb8e349047466e71e45a6ef8210457cfd9f0fe5b37f807d5b9
|
7
|
+
data.tar.gz: 223ac060a3bbbf35fedc8c44170835b677c6d9b2a70697cc210f37de84a9c319529784df6a030e03238cdbe4beb527e233401c477f6a6f0371831f267b605d1f
|
@@ -13,7 +13,7 @@ module Workarea
|
|
13
13
|
field :undo_job_id, type: String # TODO deprecated, remove in v3.6
|
14
14
|
|
15
15
|
has_many :changesets, class_name: 'Workarea::Release::Changeset'
|
16
|
-
|
16
|
+
has_many :undos, class_name: 'Workarea::Release', inverse_of: :undoes
|
17
17
|
belongs_to :undoes, class_name: 'Workarea::Release', inverse_of: :undo, optional: true
|
18
18
|
|
19
19
|
index({ publish_at: 1 })
|
@@ -180,11 +180,10 @@ module Workarea
|
|
180
180
|
end
|
181
181
|
|
182
182
|
def build_undo(attributes = {})
|
183
|
-
result =
|
183
|
+
result = undos.build(attributes)
|
184
184
|
|
185
185
|
result.name ||= I18n.t('workarea.release.undo', name: name)
|
186
186
|
result.tags = %w(undo) if result.tags.blank?
|
187
|
-
self.undo = result
|
188
187
|
|
189
188
|
result
|
190
189
|
end
|
@@ -15,10 +15,36 @@ module Workarea
|
|
15
15
|
belongs_to :release, class_name: 'Workarea::Release', index: true
|
16
16
|
belongs_to :releasable, polymorphic: true, index: true, optional: true
|
17
17
|
|
18
|
-
index(
|
18
|
+
index(
|
19
|
+
{ 'document_path.type' => 1, 'document_path.document_id' => 1 },
|
20
|
+
{ name: 'document_path' }
|
21
|
+
)
|
19
22
|
index('changeset.product_ids' => 1)
|
20
23
|
index('original.product_ids' => 1)
|
21
24
|
index('releasable_type' => 1, 'releasable_id' => 1)
|
25
|
+
index(updated_at: 1)
|
26
|
+
|
27
|
+
def self.latest(limit = Workarea.config.per_page)
|
28
|
+
order(updated_at: :desc).limit(limit)
|
29
|
+
end
|
30
|
+
|
31
|
+
def self.summary(release_id)
|
32
|
+
collection.aggregate([
|
33
|
+
{ '$match' => { 'release_id' => release_id } },
|
34
|
+
{
|
35
|
+
'$addFields' => {
|
36
|
+
'root' => { '$arrayElemAt' => ['$document_path', 0] }
|
37
|
+
}
|
38
|
+
},
|
39
|
+
{
|
40
|
+
'$group' => {
|
41
|
+
'_id' => '$root.type',
|
42
|
+
'count' => { '$sum' => 1 }
|
43
|
+
}
|
44
|
+
},
|
45
|
+
{ '$sort' => { '_id' => 1 } }
|
46
|
+
]).to_a
|
47
|
+
end
|
22
48
|
|
23
49
|
# Finds changeset by whether the passed document is in the document
|
24
50
|
# path of the changeset. Useful for showing embedded changes in the
|
@@ -38,7 +38,7 @@ module Workarea
|
|
38
38
|
aggregation = search(query)['aggregations']['grouped_by_type']['type']
|
39
39
|
aggregation['buckets']
|
40
40
|
.reduce([]) { |m, b| m + b['top']['hits']['hits'] }
|
41
|
-
.sort_by { |r| [r['_source']['jump_to_position'], r['_score']] }
|
41
|
+
.sort_by { |r| [r['_source']['jump_to_position'] || 999, r['_score'] || 0] }
|
42
42
|
.map do |result|
|
43
43
|
{
|
44
44
|
label: result['_source']['jump_to_text'],
|
@@ -51,10 +51,14 @@ module Workarea
|
|
51
51
|
end
|
52
52
|
|
53
53
|
def self.for(model)
|
54
|
+
find_for_model(model)
|
55
|
+
rescue NameError
|
56
|
+
find_for_model(model._root) rescue nil
|
57
|
+
end
|
58
|
+
|
59
|
+
def self.find_for_model(model)
|
54
60
|
subclass = model.model_name.singular_route_key.camelize
|
55
61
|
"Workarea::Search::Admin::#{subclass}".constantize.new(model)
|
56
|
-
rescue NameError
|
57
|
-
nil
|
58
62
|
end
|
59
63
|
|
60
64
|
# Allows subclass instances to specify whether they should be included in
|
@@ -0,0 +1,25 @@
|
|
1
|
+
module Workarea
|
2
|
+
module Search
|
3
|
+
class Admin
|
4
|
+
class SearchCustomization < Search::Admin
|
5
|
+
include Admin::Releasable
|
6
|
+
|
7
|
+
def type
|
8
|
+
'search_customization'
|
9
|
+
end
|
10
|
+
|
11
|
+
def search_text
|
12
|
+
model.name
|
13
|
+
end
|
14
|
+
|
15
|
+
def jump_to_text
|
16
|
+
"#{model.id} - #{model.name}"
|
17
|
+
end
|
18
|
+
|
19
|
+
def jump_to_position
|
20
|
+
99
|
21
|
+
end
|
22
|
+
end
|
23
|
+
end
|
24
|
+
end
|
25
|
+
end
|
@@ -0,0 +1,23 @@
|
|
1
|
+
module Workarea
|
2
|
+
class BuildReleaseUndoChangesets
|
3
|
+
include Sidekiq::Worker
|
4
|
+
|
5
|
+
def perform(undo_release_id, release_id)
|
6
|
+
release = Release.find(release_id)
|
7
|
+
undo_release = Release.find(undo_release_id)
|
8
|
+
|
9
|
+
existing_changesets = undo_release.changesets.to_a
|
10
|
+
matching_changeset = ->(changeset, existing_changesets) do
|
11
|
+
existing_changesets.any? do |cs|
|
12
|
+
changeset.releasable_type == cs.releasable_type &&
|
13
|
+
changeset.releasable_id == cs.releasable_id
|
14
|
+
end
|
15
|
+
end
|
16
|
+
|
17
|
+
release.changesets.each_by(500) do |changeset|
|
18
|
+
next if matching_changeset.call(changeset, existing_changesets)
|
19
|
+
changeset.build_undo(release: undo_release).save!
|
20
|
+
end
|
21
|
+
end
|
22
|
+
end
|
23
|
+
end
|
@@ -9,7 +9,7 @@ module Workarea
|
|
9
9
|
query_cache: true,
|
10
10
|
enqueue_on: {
|
11
11
|
ApplicationDocument => [:save, :touch, :destroy],
|
12
|
-
with: -> {
|
12
|
+
with: -> { IndexAdminSearch.job_arguments(self) },
|
13
13
|
ignore_if: -> { !IndexAdminSearch.should_enqueue?(self) }
|
14
14
|
}
|
15
15
|
)
|
@@ -19,6 +19,11 @@ module Workarea
|
|
19
19
|
search_model.present? && search_model.should_be_indexed?
|
20
20
|
end
|
21
21
|
|
22
|
+
def self.job_arguments(model)
|
23
|
+
search_model = Search::Admin.for(model)
|
24
|
+
[search_model.model.class.name, search_model.model.id]
|
25
|
+
end
|
26
|
+
|
22
27
|
def self.perform(model)
|
23
28
|
search_model = Search::Admin.for(model)
|
24
29
|
return false if search_model.blank?
|
@@ -60,6 +60,7 @@ Workarea::Configuration.define_fields do
|
|
60
60
|
field 'Shipping Dimensions',
|
61
61
|
type: :array,
|
62
62
|
default: [1, 1, 1],
|
63
|
+
values_type: :integer,
|
63
64
|
description: %(
|
64
65
|
Default package dimensions to use for calculating shipping costs.
|
65
66
|
It's recommended to set these to your average or standard box size when
|
@@ -14,7 +14,7 @@ module Workarea
|
|
14
14
|
return if Workarea.config.localized_active_fields
|
15
15
|
|
16
16
|
::Mongoid.models.each do |klass|
|
17
|
-
if klass < Releasable
|
17
|
+
if klass < Releasable && klass.localized_fields['active'].present?
|
18
18
|
klass.localized_fields.delete('active')
|
19
19
|
klass.field(:active, type: Boolean, default: true, localize: false)
|
20
20
|
klass.index(active: 1)
|
@@ -4,7 +4,7 @@ module Workarea
|
|
4
4
|
extend self
|
5
5
|
|
6
6
|
def assert_docker_compose_installed!
|
7
|
-
unless system('docker-compose
|
7
|
+
unless system('docker-compose --version > /dev/null 2>&1')
|
8
8
|
STDERR.puts <<~eos
|
9
9
|
**************************************************
|
10
10
|
⛔️ ERROR: workarea:services tasks depend on Docker Compose being installed. \
|
data/lib/workarea/version.rb
CHANGED
@@ -11,6 +11,7 @@ module Workarea
|
|
11
11
|
field 'baz', type: :string, allow_blank: true
|
12
12
|
|
13
13
|
field 'foo_hash', type: :hash, values_type: :integer
|
14
|
+
field 'foo_array', type: :array, values_type: :integer
|
14
15
|
field 'bar_array', type: :array
|
15
16
|
field 'baz_duration', type: :duration
|
16
17
|
end
|
@@ -20,6 +21,7 @@ module Workarea
|
|
20
21
|
bar: nil,
|
21
22
|
baz: '',
|
22
23
|
foo_hash: ['one', '1', 'two', '', '', ''],
|
24
|
+
foo_array: '1,2,3',
|
23
25
|
bar_array: 'one, two, three',
|
24
26
|
baz_duration: %w(20 minutes)
|
25
27
|
}
|
@@ -29,6 +31,7 @@ module Workarea
|
|
29
31
|
assert_equal('test', result[:bar])
|
30
32
|
assert_equal('', result[:baz])
|
31
33
|
assert_equal({ 'one' => 1 }, result[:foo_hash])
|
34
|
+
assert_equal([1, 2, 3], result[:foo_array])
|
32
35
|
assert_equal(%w(one two three), result[:bar_array])
|
33
36
|
assert_equal(20.minutes, result[:baz_duration])
|
34
37
|
end
|
@@ -35,6 +35,14 @@ module Workarea
|
|
35
35
|
@release = create_release
|
36
36
|
end
|
37
37
|
|
38
|
+
def active?(changeset)
|
39
|
+
if Workarea.config.localized_active_fields
|
40
|
+
changeset['active'][I18n.locale.to_s]
|
41
|
+
else
|
42
|
+
changeset['active']
|
43
|
+
end
|
44
|
+
end
|
45
|
+
|
38
46
|
def test_save_can_schedule_activation
|
39
47
|
model = Foo.create!(
|
40
48
|
name: 'Test',
|
@@ -48,9 +56,9 @@ module Workarea
|
|
48
56
|
assert_equal(1, model.changesets.length)
|
49
57
|
assert_equal(@release.id, model.changesets.first.release_id)
|
50
58
|
assert_equal(1, model.changesets.first.changeset.size)
|
51
|
-
assert(model.changesets.first.changeset
|
59
|
+
assert(active?(model.changesets.first.changeset))
|
52
60
|
assert_equal(1, model.changesets.first.original.size)
|
53
|
-
refute(model.changesets.first.original
|
61
|
+
refute(active?(model.changesets.first.original))
|
54
62
|
end
|
55
63
|
|
56
64
|
def test_save_can_schedule_activation_for_an_embedded_document
|
@@ -74,17 +82,17 @@ module Workarea
|
|
74
82
|
assert_equal(1, embedded_1.changesets.length)
|
75
83
|
assert_equal(@release.id, embedded_1.changesets.first.release_id)
|
76
84
|
assert_equal(1, embedded_1.changesets.first.changeset.size)
|
77
|
-
assert(embedded_1.changesets.first.changeset
|
85
|
+
assert(active?(embedded_1.changesets.first.changeset))
|
78
86
|
assert_equal(1, embedded_1.changesets.first.original.size)
|
79
|
-
refute(embedded_1.changesets.first.original
|
87
|
+
refute(active?(embedded_1.changesets.first.original))
|
80
88
|
|
81
89
|
refute(embedded_2.active)
|
82
90
|
assert_equal(1, embedded_2.changesets.length)
|
83
91
|
assert_equal(@release.id, embedded_2.changesets.first.release_id)
|
84
92
|
assert_equal(1, embedded_2.changesets.first.changeset.size)
|
85
|
-
assert(embedded_2.changesets.first.changeset
|
93
|
+
assert(active?(embedded_2.changesets.first.changeset))
|
86
94
|
assert_equal(1, embedded_2.changesets.first.original.size)
|
87
|
-
refute(embedded_2.changesets.first.original
|
95
|
+
refute(active?(embedded_2.changesets.first.original))
|
88
96
|
end
|
89
97
|
|
90
98
|
def test_creating_and_activating_embedded
|
@@ -104,9 +112,9 @@ module Workarea
|
|
104
112
|
assert_equal(1, embedded.changesets.length)
|
105
113
|
assert_equal(@release.id, embedded.changesets.first.release_id)
|
106
114
|
assert_equal(1, embedded.changesets.first.changeset.size)
|
107
|
-
assert(embedded.changesets.first.changeset
|
115
|
+
assert(active?(embedded.changesets.first.changeset))
|
108
116
|
assert_equal(1, embedded.changesets.first.original.size)
|
109
|
-
refute(embedded.changesets.first.original
|
117
|
+
refute(active?(embedded.changesets.first.original))
|
110
118
|
assert(embedded.changesets.first.document_path.present?)
|
111
119
|
end
|
112
120
|
end
|
@@ -3,6 +3,23 @@ require 'test_helper'
|
|
3
3
|
module Workarea
|
4
4
|
class Release
|
5
5
|
class ChangesetTest < TestCase
|
6
|
+
def test_summary
|
7
|
+
release = create_release
|
8
|
+
product_one = create_product(id: 'PROD1')
|
9
|
+
product_two = create_product(id: 'PROD2')
|
10
|
+
page = create_page
|
11
|
+
|
12
|
+
release.as_current do
|
13
|
+
product_one.variants.first.update!(details: { 'Color' => 'Orange' })
|
14
|
+
product_two.update!(name: 'Test Product Changed')
|
15
|
+
page.update!(name: 'Test Page Changed')
|
16
|
+
end
|
17
|
+
|
18
|
+
summary = Changeset.summary(release.id)
|
19
|
+
assert_includes(summary, { '_id' => 'Workarea::Catalog::Product', 'count' => 2 })
|
20
|
+
assert_includes(summary, { '_id' => 'Workarea::Content::Page', 'count' => 1 })
|
21
|
+
end
|
22
|
+
|
6
23
|
def test_build_undo
|
7
24
|
releasable = create_page(name: 'Foo')
|
8
25
|
release = create_release
|
@@ -28,6 +28,20 @@ module Workarea
|
|
28
28
|
assert_includes(search_model.facets[:upcoming_changes], release_two.id)
|
29
29
|
refute_includes(search_model.facets[:upcoming_changes], release_three.id)
|
30
30
|
end
|
31
|
+
|
32
|
+
def test_upcoming_changes
|
33
|
+
release_one = create_release
|
34
|
+
release_two = create_release
|
35
|
+
|
36
|
+
product = create_product
|
37
|
+
|
38
|
+
release_one.as_current { product.update!(name: 'Changed Name') }
|
39
|
+
release_two.as_current { product.variants.first.update!(name: 'Changed Name') }
|
40
|
+
|
41
|
+
search_model = Foo.new(product)
|
42
|
+
assert_includes(search_model.facets[:upcoming_changes], release_one.id)
|
43
|
+
assert_includes(search_model.facets[:upcoming_changes], release_two.id)
|
44
|
+
end
|
31
45
|
end
|
32
46
|
end
|
33
47
|
end
|
@@ -0,0 +1,26 @@
|
|
1
|
+
require 'test_helper'
|
2
|
+
|
3
|
+
module Workarea
|
4
|
+
class BuildReleaseUndoChangesetsTest < TestCase
|
5
|
+
def test_perform
|
6
|
+
releasable_one = create_page(name: 'Foo')
|
7
|
+
releasable_two = create_page(name: 'Bar')
|
8
|
+
release = create_release
|
9
|
+
|
10
|
+
release.as_current do
|
11
|
+
releasable_one.update!(name: 'Changed Foo')
|
12
|
+
releasable_two.update!(name: 'Changed Bar')
|
13
|
+
end
|
14
|
+
|
15
|
+
undo_release = release.build_undo.tap(&:save!)
|
16
|
+
release.changesets.first.build_undo(release: undo_release).save!
|
17
|
+
|
18
|
+
BuildReleaseUndoChangesets.new.perform(undo_release.id, release.id)
|
19
|
+
|
20
|
+
undo_release.reload
|
21
|
+
assert_equal(2, undo_release.changesets.count)
|
22
|
+
assert_includes(undo_release.changesets.map(&:releasable), releasable_one)
|
23
|
+
assert_includes(undo_release.changesets.map(&:releasable), releasable_two)
|
24
|
+
end
|
25
|
+
end
|
26
|
+
end
|
@@ -6,5 +6,26 @@ module Workarea
|
|
6
6
|
refute(IndexAdminSearch.should_enqueue?(create_order))
|
7
7
|
assert(IndexAdminSearch.should_enqueue?(create_placed_order))
|
8
8
|
end
|
9
|
+
|
10
|
+
def test_enqueuing_embedded_documents
|
11
|
+
content = create_content
|
12
|
+
|
13
|
+
Sidekiq::Testing.fake!
|
14
|
+
IndexAdminSearch.drain
|
15
|
+
Sidekiq::Callbacks.async(IndexAdminSearch)
|
16
|
+
Sidekiq::Callbacks.enable(IndexAdminSearch)
|
17
|
+
|
18
|
+
assert_difference 'IndexAdminSearch.jobs.size', 1 do
|
19
|
+
content.blocks.create!(type: :html)
|
20
|
+
end
|
21
|
+
|
22
|
+
args = IndexAdminSearch.jobs.first['args']
|
23
|
+
assert_equal(Content.name, args.first)
|
24
|
+
assert_equal(content.id.to_s, args.second)
|
25
|
+
|
26
|
+
ensure
|
27
|
+
IndexAdminSearch.drain
|
28
|
+
Sidekiq::Testing.inline!
|
29
|
+
end
|
9
30
|
end
|
10
31
|
end
|
data/workarea-core.gemspec
CHANGED
@@ -59,7 +59,7 @@ Gem::Specification.new do |s|
|
|
59
59
|
s.add_dependency 'i18n-js', '~> 3.2.1'
|
60
60
|
s.add_dependency 'local_time', '~> 1.0.3'
|
61
61
|
s.add_dependency 'lodash-rails', '~> 4.17.4'
|
62
|
-
s.add_dependency 'jquery-rails', '~> 4.
|
62
|
+
s.add_dependency 'jquery-rails', '~> 4.4.0'
|
63
63
|
s.add_dependency 'jquery-ui-rails', '~> 6.0.1'
|
64
64
|
s.add_dependency 'tooltipster-rails', '~> 4.1.2'
|
65
65
|
s.add_dependency 'chart-js-rails', '~> 0.0.9' # TODO remove v4
|
@@ -68,7 +68,7 @@ Gem::Specification.new do |s|
|
|
68
68
|
s.add_dependency 'wysihtml-rails', '~> 0.6.0.beta2'
|
69
69
|
s.add_dependency 'rack-attack', '~> 6.3.1'
|
70
70
|
s.add_dependency 'jquery-livetype-rails', '~> 0.1.0' # TODO remove v4
|
71
|
-
s.add_dependency 'redcarpet', '~> 3.
|
71
|
+
s.add_dependency 'redcarpet', '~> 3.5.1', '>= 3.5.1'
|
72
72
|
s.add_dependency 'jquery-unique-clone-rails', '~> 1.0.0'
|
73
73
|
s.add_dependency 'avalanche-rails', '~> 1.2.0'
|
74
74
|
s.add_dependency 'inline_svg', '~> 1.3.0'
|
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.
|
4
|
+
version: 3.5.27
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Ben Crouse
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2021-07-19 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -646,14 +646,14 @@ dependencies:
|
|
646
646
|
requirements:
|
647
647
|
- - "~>"
|
648
648
|
- !ruby/object:Gem::Version
|
649
|
-
version: 4.
|
649
|
+
version: 4.4.0
|
650
650
|
type: :runtime
|
651
651
|
prerelease: false
|
652
652
|
version_requirements: !ruby/object:Gem::Requirement
|
653
653
|
requirements:
|
654
654
|
- - "~>"
|
655
655
|
- !ruby/object:Gem::Version
|
656
|
-
version: 4.
|
656
|
+
version: 4.4.0
|
657
657
|
- !ruby/object:Gem::Dependency
|
658
658
|
name: jquery-ui-rails
|
659
659
|
requirement: !ruby/object:Gem::Requirement
|
@@ -772,14 +772,20 @@ dependencies:
|
|
772
772
|
requirements:
|
773
773
|
- - "~>"
|
774
774
|
- !ruby/object:Gem::Version
|
775
|
-
version: 3.
|
775
|
+
version: 3.5.1
|
776
|
+
- - ">="
|
777
|
+
- !ruby/object:Gem::Version
|
778
|
+
version: 3.5.1
|
776
779
|
type: :runtime
|
777
780
|
prerelease: false
|
778
781
|
version_requirements: !ruby/object:Gem::Requirement
|
779
782
|
requirements:
|
780
783
|
- - "~>"
|
781
784
|
- !ruby/object:Gem::Version
|
782
|
-
version: 3.
|
785
|
+
version: 3.5.1
|
786
|
+
- - ">="
|
787
|
+
- !ruby/object:Gem::Version
|
788
|
+
version: 3.5.1
|
783
789
|
- !ruby/object:Gem::Dependency
|
784
790
|
name: jquery-unique-clone-rails
|
785
791
|
requirement: !ruby/object:Gem::Requirement
|
@@ -910,22 +916,22 @@ dependencies:
|
|
910
916
|
name: minitest
|
911
917
|
requirement: !ruby/object:Gem::Requirement
|
912
918
|
requirements:
|
913
|
-
- - ">="
|
914
|
-
- !ruby/object:Gem::Version
|
915
|
-
version: 5.10.1
|
916
919
|
- - "~>"
|
917
920
|
- !ruby/object:Gem::Version
|
918
921
|
version: 5.10.3
|
922
|
+
- - ">="
|
923
|
+
- !ruby/object:Gem::Version
|
924
|
+
version: 5.10.1
|
919
925
|
type: :runtime
|
920
926
|
prerelease: false
|
921
927
|
version_requirements: !ruby/object:Gem::Requirement
|
922
928
|
requirements:
|
923
|
-
- - ">="
|
924
|
-
- !ruby/object:Gem::Version
|
925
|
-
version: 5.10.1
|
926
929
|
- - "~>"
|
927
930
|
- !ruby/object:Gem::Version
|
928
931
|
version: 5.10.3
|
932
|
+
- - ">="
|
933
|
+
- !ruby/object:Gem::Version
|
934
|
+
version: 5.10.1
|
929
935
|
- !ruby/object:Gem::Dependency
|
930
936
|
name: countries
|
931
937
|
requirement: !ruby/object:Gem::Requirement
|
@@ -1532,6 +1538,7 @@ files:
|
|
1532
1538
|
- app/models/workarea/search/admin/pricing_sku.rb
|
1533
1539
|
- app/models/workarea/search/admin/releasable.rb
|
1534
1540
|
- app/models/workarea/search/admin/release.rb
|
1541
|
+
- app/models/workarea/search/admin/search_customization.rb
|
1535
1542
|
- app/models/workarea/search/admin/segment.rb
|
1536
1543
|
- app/models/workarea/search/admin/user.rb
|
1537
1544
|
- app/models/workarea/search/customization.rb
|
@@ -1749,6 +1756,7 @@ files:
|
|
1749
1756
|
- app/view_models/workarea/shipping_carrier_view_model.rb
|
1750
1757
|
- app/workers/sidekiq/callbacks.rb
|
1751
1758
|
- app/workers/sidekiq/callbacks_worker.rb
|
1759
|
+
- app/workers/workarea/build_release_undo_changesets.rb
|
1752
1760
|
- app/workers/workarea/bulk_index_admin.rb
|
1753
1761
|
- app/workers/workarea/bulk_index_products.rb
|
1754
1762
|
- app/workers/workarea/bulk_index_searches.rb
|
@@ -2466,6 +2474,7 @@ files:
|
|
2466
2474
|
- test/view_models/workarea/shipping_carrier_view_model_test.rb
|
2467
2475
|
- test/workarea_test.rb
|
2468
2476
|
- test/workers/sidekiq/callbacks_test.rb
|
2477
|
+
- test/workers/workarea/build_release_undo_changesets_test.rb
|
2469
2478
|
- test/workers/workarea/bulk_index_admin_test.rb
|
2470
2479
|
- test/workers/workarea/bulk_index_products_test.rb
|
2471
2480
|
- test/workers/workarea/bulk_index_searches_test.rb
|
@@ -2747,7 +2756,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
2747
2756
|
- !ruby/object:Gem::Version
|
2748
2757
|
version: '0'
|
2749
2758
|
requirements: []
|
2750
|
-
rubygems_version: 3.
|
2759
|
+
rubygems_version: 3.2.3
|
2751
2760
|
signing_key:
|
2752
2761
|
specification_version: 4
|
2753
2762
|
summary: Core of the Workarea Commerce Platform
|