eco-helpers 2.6.1 → 2.6.2
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/CHANGELOG.md +22 -0
- data/lib/eco/api/common/loaders/base.rb +5 -0
- data/lib/eco/api/session/config/tagtree.rb +15 -1
- data/lib/eco/api/usecases/ooze_samples/helpers/creatable.rb +62 -0
- data/lib/eco/api/usecases/ooze_samples/helpers/rescuable.rb +59 -0
- data/lib/eco/api/usecases/ooze_samples/helpers.rb +2 -0
- data/lib/eco/api/usecases/ooze_samples/ooze_base_case.rb +2 -1
- data/lib/eco/api/usecases/ooze_samples/register_migration_case.rb +2 -26
- data/lib/eco/api/usecases/ooze_samples/register_update_case.rb +64 -47
- data/lib/eco/api/usecases/ooze_samples/target_oozes_update_case.rb +8 -0
- data/lib/eco/data/locations/node_diff/nodes_diff.rb +11 -9
- data/lib/eco/data/locations/node_diff/selectors.rb +1 -1
- data/lib/eco/version.rb +1 -1
- metadata +3 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: '0904af2dd434adc72c1ca3e889d4e0b11595ce991f6de1c997f613d80c8866ce'
|
4
|
+
data.tar.gz: b21748a878327830d5c813340ab2fcfe69ebace8137480bc9dfc42f290296cbf
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 2bccc140b8ec44d41aaccdffde8e5b51a1c755fc75dcede5e08526be6daed4482a5f733ceba6a75155f1dee74dbc8e2edc52ee9f2ab55f7ebf6521acfd3aac47
|
7
|
+
data.tar.gz: b362a14bf0a872ee04928ace6c05600df37ecfd56cb754b5f2a0cc3a417115cc8d9a889ce5f40de80ed41f281b16005eed78eadf04a330dc6fa80066baa56e63
|
data/CHANGELOG.md
CHANGED
@@ -1,6 +1,28 @@
|
|
1
1
|
# Change Log
|
2
2
|
All notable changes to this project will be documented in this file.
|
3
3
|
|
4
|
+
## [2.6.2] - 2024-02-23
|
5
|
+
|
6
|
+
### Added
|
7
|
+
- `Eco::API::Session::Config::TagTree`: added **benchmarks** to locations structure live retrieval
|
8
|
+
- To all **Ooze** cases that use register update
|
9
|
+
- `Eco::API::UseCases::OozeSamples::Helpers::Creatable` native helpers
|
10
|
+
- to draft entries
|
11
|
+
- `Eco::API::UseCases::OozeSamples::RegisterMigrationCase` -> removed code double-up due to this addition to the register update case.
|
12
|
+
- `Eco::API::Common::Loaders::Base` added **methods**
|
13
|
+
- `#simulate?` and `#dry_run?`
|
14
|
+
- `Eco::API::UseCases::OozeSamples::RegisterUpdateCase`
|
15
|
+
- added **kpis** attempted updates and attempted creations
|
16
|
+
|
17
|
+
### Changed
|
18
|
+
- `Eco::API::UseCases::OozeSamples::RegisterUpdateCase`
|
19
|
+
- `#main` allows to tell it to just `yield`
|
20
|
+
|
21
|
+
### Fixed
|
22
|
+
- `Eco::Data::Locations::NodeDiff::Selectors` `any?` (typo)
|
23
|
+
- `Eco::API::UseCases::OozeSamples::TargetOozesUpdateCase`
|
24
|
+
- fixed **kpis** tracking
|
25
|
+
|
4
26
|
## [2.6.1] - 2024-02-11
|
5
27
|
|
6
28
|
### Added
|
@@ -93,9 +93,16 @@ module Eco
|
|
93
93
|
includeArchivedNodes: include_archived
|
94
94
|
}.merge(kargs)
|
95
95
|
|
96
|
+
start = Time.now
|
96
97
|
return nil unless tree = graphql.currentOrganization.locationStructure(**kargs, &block)
|
98
|
+
end_time = Time.now
|
99
|
+
secs = (end_time - start).round(3)
|
97
100
|
|
98
|
-
Eco::API::Organization::TagTree.new(tree.treeify, id: tree.id, name: tree.name)
|
101
|
+
Eco::API::Organization::TagTree.new(tree.treeify, id: tree.id, name: tree.name).tap do |eco_tree|
|
102
|
+
cnt = eco_tree.count
|
103
|
+
per_sec = (cnt.to_f / secs).round(2)
|
104
|
+
session_logger.info("Loaded #{cnt} location nodes in #{secs} seconds (#{per_sec} nodes/sec)")
|
105
|
+
end
|
99
106
|
end
|
100
107
|
|
101
108
|
# Retrieves all the location structures of the organisation
|
@@ -110,11 +117,18 @@ module Eco
|
|
110
117
|
includeArchivedNodes: include_archived
|
111
118
|
}.merge(kargs)
|
112
119
|
|
120
|
+
start = Time.now
|
113
121
|
next unless trees = graphql.currentOrganization.locationStructures(**kargs, &block)
|
122
|
+
end_time = Time.now
|
123
|
+
secs = (end_time - start).round(3)
|
124
|
+
cnt = 0
|
114
125
|
trees.each do |tree|
|
115
126
|
eco_tree = Eco::API::Organization::TagTree.new(tree.treeify, id: tree.id, name: tree.name)
|
127
|
+
cnt += eco_tree.count
|
116
128
|
eco_trees.push(eco_tree)
|
117
129
|
end
|
130
|
+
per_sec = (cnt.to_f / secs).round(2)
|
131
|
+
session_logger.info("Loaded #{cnt} location nodes in #{secs} seconds (#{per_sec} nodes/sec)")
|
118
132
|
end
|
119
133
|
end
|
120
134
|
|
@@ -0,0 +1,62 @@
|
|
1
|
+
module Eco
|
2
|
+
module API
|
3
|
+
class UseCases
|
4
|
+
class OozeSamples
|
5
|
+
module Helpers
|
6
|
+
# set of helpers to create entries from a template
|
7
|
+
module Creatable
|
8
|
+
module InstanceMethods
|
9
|
+
private
|
10
|
+
|
11
|
+
def creating_new_page(draft_reference = "new entry", template_id:)
|
12
|
+
page_id = nil
|
13
|
+
drafting_entry(template_id) do |draft|
|
14
|
+
yield(draft) if block_given?
|
15
|
+
|
16
|
+
if page_id = create_entry(draft, reference: draft_reference)
|
17
|
+
log(:info) { "Page '#{page_id}' created successfully -- #{draft_reference}" }
|
18
|
+
elsif options.dig(:dry_run)
|
19
|
+
log(:info) { "Simulated launch for #{draft_reference}" }
|
20
|
+
end
|
21
|
+
end
|
22
|
+
page_id
|
23
|
+
end
|
24
|
+
|
25
|
+
# @return [Page] a draft of `template_id` (still not saved)
|
26
|
+
def drafting_entry(template_id)
|
27
|
+
raise ArgumentError, "Expecting block, but not given" unless block_given?
|
28
|
+
draft = apiv2.pages.get_new(template_id)
|
29
|
+
yield(draft)
|
30
|
+
end
|
31
|
+
|
32
|
+
# Does the actual creation of the entry
|
33
|
+
def create_entry(draft, reference: "new entry from #{draft&.template_id}")
|
34
|
+
with_rescue(reference) do
|
35
|
+
if result = create_ooze(draft, template_id: draft.template_id)
|
36
|
+
return result.page_id
|
37
|
+
end
|
38
|
+
end
|
39
|
+
end
|
40
|
+
end
|
41
|
+
|
42
|
+
class << self
|
43
|
+
def included(base)
|
44
|
+
super
|
45
|
+
validate_base_type!(base)
|
46
|
+
base.include(InstanceMethods)
|
47
|
+
end
|
48
|
+
|
49
|
+
def validate_base_type!(base)
|
50
|
+
return super if defined?(super)
|
51
|
+
msg = "#{self} can only be included in Eco::API::UseCases::OozeSamples::RegisterUpdateCase"
|
52
|
+
msg << "\nCan't be included in #{base}"
|
53
|
+
raise LoadError, msg unless base <= Eco::API::UseCases::OozeSamples::RegisterUpdateCase
|
54
|
+
true
|
55
|
+
end
|
56
|
+
end
|
57
|
+
end
|
58
|
+
end
|
59
|
+
end
|
60
|
+
end
|
61
|
+
end
|
62
|
+
end
|
@@ -0,0 +1,59 @@
|
|
1
|
+
module Eco
|
2
|
+
module API
|
3
|
+
class UseCases
|
4
|
+
class OozeSamples
|
5
|
+
module Helpers
|
6
|
+
module Rescuable
|
7
|
+
module InstanceMethods
|
8
|
+
private
|
9
|
+
|
10
|
+
# Helper to prevent script from stopping
|
11
|
+
def with_rescue(reference)
|
12
|
+
raise ArgumentError, "Expecting block, but not given" unless block_given?
|
13
|
+
yield
|
14
|
+
rescue StandardError => e
|
15
|
+
log(:error) {
|
16
|
+
[reference, e.message].join(' => \n')
|
17
|
+
}
|
18
|
+
lines = []
|
19
|
+
lines << "\nThere was an error. Choose one option:\n"
|
20
|
+
lines << " (C) - Continue/resume. Just ignore this one."
|
21
|
+
lines << " (A) - Abort. Just break this run."
|
22
|
+
|
23
|
+
session.prompt_user('Type one option (C/a):', explanation: lines.join("\n"), default: 'C') do |res|
|
24
|
+
res = res.upcase
|
25
|
+
case
|
26
|
+
when res.start_with?("A")
|
27
|
+
raise
|
28
|
+
else res.start_with?("C")
|
29
|
+
log(:warn) {
|
30
|
+
msg = "Script resumed after error..."
|
31
|
+
msg << "\n • #{reference}"
|
32
|
+
}
|
33
|
+
nil
|
34
|
+
end
|
35
|
+
end
|
36
|
+
end
|
37
|
+
end
|
38
|
+
|
39
|
+
class << self
|
40
|
+
def included(base)
|
41
|
+
super
|
42
|
+
validate_base_type!(base)
|
43
|
+
base.include(InstanceMethods)
|
44
|
+
end
|
45
|
+
|
46
|
+
def validate_base_type!(base)
|
47
|
+
return super if defined?(super)
|
48
|
+
msg = "#{self} can only be included in Eco::API::Common::Loaders::Base"
|
49
|
+
msg << "\nCan't be included in #{base}"
|
50
|
+
raise LoadError, msg unless base <= Eco::API::Common::Loaders::Base
|
51
|
+
true
|
52
|
+
end
|
53
|
+
end
|
54
|
+
end
|
55
|
+
end
|
56
|
+
end
|
57
|
+
end
|
58
|
+
end
|
59
|
+
end
|
@@ -4,6 +4,7 @@ class Eco::API::UseCases::OozeSamples::OozeBaseCase < Eco::API::Common::Loaders:
|
|
4
4
|
type :other
|
5
5
|
|
6
6
|
include Eco::API::UseCases::OozeSamples::Helpers
|
7
|
+
include Eco::API::UseCases::OozeSamples::Helpers::Rescuable
|
7
8
|
|
8
9
|
attr_reader :target
|
9
10
|
|
@@ -145,7 +146,7 @@ class Eco::API::UseCases::OozeSamples::OozeBaseCase < Eco::API::Common::Loaders:
|
|
145
146
|
# It fill update the ooze only if it's dirty (it carries changes)
|
146
147
|
# @return [Boolean, Response] `false` if there was not request against the server, `Response` otherwise
|
147
148
|
def update_ooze(ooze = target)
|
148
|
-
if
|
149
|
+
if dry_run?
|
149
150
|
dry_run_feedback(ooze)
|
150
151
|
false
|
151
152
|
else
|
@@ -66,8 +66,8 @@ class Eco::API::UseCases::OozeSamples::RegisterMigrationCase < Eco::API::UseCase
|
|
66
66
|
|
67
67
|
def process_ooze
|
68
68
|
with_target_stage(self.class::SOURCE_STAGE) do |source|
|
69
|
-
|
70
|
-
|
69
|
+
draft_reference = object_reference(source)
|
70
|
+
creating_new_page(draft_reference, template_id: elf.class::TEMPLATE_ID) do |draft|
|
71
71
|
draft.base_tags << ["IMPORTED", "MIGRATED"]
|
72
72
|
|
73
73
|
pairing_tracking = copy_pairings(source, draft)
|
@@ -89,13 +89,6 @@ class Eco::API::UseCases::OozeSamples::RegisterMigrationCase < Eco::API::UseCase
|
|
89
89
|
if msg = pairing_tracking.report_dst_unpaired(only_required: false, exclude_ximport: !self.class::REPORT_DST_XIMPORT)
|
90
90
|
logger.warn(msg)
|
91
91
|
end
|
92
|
-
|
93
|
-
if page_id = create_entry(draft, reference: draft_reference)
|
94
|
-
csv << [source.id, page_id]
|
95
|
-
logger.info("Page '#{page_id}' created successfully.")
|
96
|
-
elsif options.dig(:dry_run)
|
97
|
-
logger.info("Simulated launch for #{draft_reference}")
|
98
|
-
end
|
99
92
|
end
|
100
93
|
end
|
101
94
|
end
|
@@ -153,23 +146,6 @@ class Eco::API::UseCases::OozeSamples::RegisterMigrationCase < Eco::API::UseCase
|
|
153
146
|
"#{sym}_callback".to_sym
|
154
147
|
end
|
155
148
|
|
156
|
-
def create_entry(draft, reference:, from: self.class::TEMPLATE_ID)
|
157
|
-
with_rescue(reference) do
|
158
|
-
if !options[:dry_run]
|
159
|
-
create_ooze(draft, template_id: from).page_id
|
160
|
-
else
|
161
|
-
logger.info("Creation sample follows...")
|
162
|
-
dry_run_feedback(draft)
|
163
|
-
false
|
164
|
-
end
|
165
|
-
end
|
166
|
-
end
|
167
|
-
|
168
|
-
def drafting_entry(template_id = selfTEMPLATE_ID)
|
169
|
-
draft = apiv2.pages.get_new(template_id)
|
170
|
-
yield(draft)
|
171
|
-
end
|
172
|
-
|
173
149
|
def with_target_stage(name)
|
174
150
|
if stg = target_stage(name)
|
175
151
|
yield(stg)
|
@@ -4,6 +4,8 @@
|
|
4
4
|
# - You need to define the `process_ooze` method
|
5
5
|
# This case expects `options[:source][:register_id]`
|
6
6
|
class Eco::API::UseCases::OozeSamples::RegisterUpdateCase < Eco::API::UseCases::OozeSamples::OozeBaseCase
|
7
|
+
include Eco::API::UseCases::OozeSamples::Helpers::Creatable
|
8
|
+
|
7
9
|
class << self
|
8
10
|
# @return [Integer] the number of pages to be processed in each batch
|
9
11
|
def batch_size(size = nil)
|
@@ -18,31 +20,25 @@ class Eco::API::UseCases::OozeSamples::RegisterUpdateCase < Eco::API::UseCases::
|
|
18
20
|
|
19
21
|
attr_reader :retrieved_oozes, :non_retrieved_oozes
|
20
22
|
attr_reader :total_search_oozes, :dupped_search_oozes
|
21
|
-
attr_reader :ooze_result_ids
|
23
|
+
attr_reader :ooze_result_ids
|
24
|
+
attr_reader :updated_oozes, :failed_update_oozes, :attempted_ooze_updates
|
25
|
+
attr_reader :created_oozes, :ooze_create_attempts
|
22
26
|
|
23
|
-
def main(session, options, usecase, &block)
|
24
|
-
|
25
|
-
@non_retrieved_oozes = 0
|
26
|
-
@dupped_search_oozes = 0
|
27
|
-
@ooze_result_ids = {}
|
28
|
-
@updated_oozes = 0
|
29
|
-
@failed_update_oozes = 0
|
30
|
-
@created_oozes = 0
|
27
|
+
def main(session, options, usecase, mode: :legacy, &block)
|
28
|
+
init_kpis
|
31
29
|
|
32
30
|
super(session, options, usecase) do
|
33
|
-
|
34
|
-
|
31
|
+
if mode == :legacy
|
32
|
+
with_each_entry do |ooze|
|
33
|
+
process_ooze(&block)
|
34
|
+
end
|
35
|
+
elsif mode == :delegate
|
36
|
+
raise "You need to pass a block when running main in `:delegate` mode" unless block_given?
|
37
|
+
yield
|
35
38
|
end
|
36
39
|
end
|
37
|
-
|
38
|
-
|
39
|
-
msg += " • Duplicated search results #{dupped_search_oozes}\n"
|
40
|
-
msg += " • Retrieved a total of #{retrieved_oozes}\n"
|
41
|
-
msg += " • Could not get #{non_retrieved_oozes} oozes.\n"
|
42
|
-
msg += " • Updated #{updated_oozes} oozes.\n"
|
43
|
-
msg += " - Failed update on #{failed_update_oozes} oozes.\n"
|
44
|
-
msg += " • Created #{created_oozes} oozes.\n"
|
45
|
-
logger.info(msg)
|
40
|
+
|
41
|
+
log_kpis
|
46
42
|
end
|
47
43
|
|
48
44
|
def process_ooze(ooze = target)
|
@@ -51,29 +47,6 @@ class Eco::API::UseCases::OozeSamples::RegisterUpdateCase < Eco::API::UseCases::
|
|
51
47
|
|
52
48
|
private
|
53
49
|
|
54
|
-
def with_rescue(reference)
|
55
|
-
begin
|
56
|
-
yield
|
57
|
-
rescue StandardError => e
|
58
|
-
logger.error([reference, e.message].join(" => \n"))
|
59
|
-
lines = []
|
60
|
-
lines << "\nThere was an error. Choose one option:\n"
|
61
|
-
lines << ' (C) - Continue/resume. Just ignore this one.'
|
62
|
-
lines << ' (A) - Abort. Just break this run.'
|
63
|
-
|
64
|
-
session.prompt_user('Type one option (C/a):', explanation: lines.join("\n"), default: 'C') do |res|
|
65
|
-
res = res.upcase
|
66
|
-
case
|
67
|
-
when res.start_with?("A")
|
68
|
-
raise
|
69
|
-
else res.start_with?("C")
|
70
|
-
logger.warn "Script resumed after error..."
|
71
|
-
nil
|
72
|
-
end
|
73
|
-
end
|
74
|
-
end
|
75
|
-
end
|
76
|
-
|
77
50
|
def before_loading_new_target(ooze_id)
|
78
51
|
if pending = queue_shift(ooze_id)
|
79
52
|
update_ooze(pending).tap do |result|
|
@@ -95,6 +68,7 @@ class Eco::API::UseCases::OozeSamples::RegisterUpdateCase < Eco::API::UseCases::
|
|
95
68
|
end
|
96
69
|
end
|
97
70
|
|
71
|
+
# Main looper (invoked from `main`)
|
98
72
|
def with_each_entry
|
99
73
|
batched_search_results do |page_results|
|
100
74
|
page_results.each do |page_result|
|
@@ -172,12 +146,26 @@ class Eco::API::UseCases::OozeSamples::RegisterUpdateCase < Eco::API::UseCases::
|
|
172
146
|
yield(results) unless results.empty?
|
173
147
|
end
|
174
148
|
|
149
|
+
# Launches the actual request to create the entry
|
175
150
|
def create_ooze(draft, template_id:)
|
176
|
-
|
177
|
-
|
151
|
+
@ooze_create_attempts += 1
|
152
|
+
|
153
|
+
if dry_run?
|
154
|
+
dry_run_feedback(ooze)
|
155
|
+
false
|
156
|
+
else
|
157
|
+
apiv2.pages.create(draft, from: template_id).tap do |result|
|
158
|
+
@created_oozes += 1
|
159
|
+
end
|
178
160
|
end
|
179
161
|
end
|
180
162
|
|
163
|
+
# Capture the attempts count
|
164
|
+
def update_ooze(*args, **kargs, &block)
|
165
|
+
@attempted_ooze_updates += 1 if dirty?(ooze)
|
166
|
+
super
|
167
|
+
end
|
168
|
+
|
181
169
|
def update_oozes(batched_oozes = batch_queue)
|
182
170
|
batched_oozes.each do |ooze|
|
183
171
|
update_ooze(ooze).tap do |result|
|
@@ -215,10 +203,39 @@ class Eco::API::UseCases::OozeSamples::RegisterUpdateCase < Eco::API::UseCases::
|
|
215
203
|
end
|
216
204
|
end
|
217
205
|
|
206
|
+
def init_kpis
|
207
|
+
@retrieved_oozes = 0
|
208
|
+
@non_retrieved_oozes = 0
|
209
|
+
@dupped_search_oozes = 0
|
210
|
+
@ooze_result_ids = {}
|
211
|
+
@updated_oozes = 0
|
212
|
+
@failed_update_oozes = 0
|
213
|
+
@attempted_ooze_updates = 0
|
214
|
+
@created_oozes = 0
|
215
|
+
@ooze_create_attempts = 0
|
216
|
+
end
|
217
|
+
|
218
|
+
def log_kpis
|
219
|
+
log(:info) { kpis_message }
|
220
|
+
end
|
221
|
+
|
222
|
+
def kpis_message
|
223
|
+
msg = []
|
224
|
+
msg << "Run end:"
|
225
|
+
msg << " • Search results: #{total_search_oozes}"
|
226
|
+
msg << " • Duplicated search results #{dupped_search_oozes}"
|
227
|
+
msg << " • Retrieved a total of #{retrieved_oozes}"
|
228
|
+
msg << " • Could not get #{non_retrieved_oozes} oozes."
|
229
|
+
msg << " • Updated #{updated_oozes} oozes (attempted: #{attempted_ooze_updates})."
|
230
|
+
msg << " - Failed update on #{failed_update_oozes} oozes."
|
231
|
+
msg << " • Created #{created_oozes} oozes (out of: #{ooze_create_attempts})."
|
232
|
+
msg.join("\n")
|
233
|
+
end
|
234
|
+
|
218
235
|
def search_options
|
219
236
|
@search_options ||= {}.tap do |opts|
|
220
|
-
opts.merge!(sort:
|
221
|
-
opts.merge!(dir:
|
237
|
+
opts.merge!(sort: 'created_at')
|
238
|
+
opts.merge!(dir: 'asc')
|
222
239
|
opts.merge!(query: conf_search) if conf_search
|
223
240
|
opts.merge!(filters: conf_filters)
|
224
241
|
end
|
@@ -19,7 +19,11 @@ class Eco::API::UseCases::OozeSamples::TargetOozesUpdateCase < Eco::API::UseCase
|
|
19
19
|
end
|
20
20
|
end
|
21
21
|
if ooz = ooze(id)
|
22
|
+
@retrieved_oozes += 1
|
22
23
|
yield(ooz)
|
24
|
+
else
|
25
|
+
@non_retrieved_oozes += 1
|
26
|
+
logger.warn "Could not get page #{id}"
|
23
27
|
end
|
24
28
|
end
|
25
29
|
update_oozes
|
@@ -42,8 +46,12 @@ class Eco::API::UseCases::OozeSamples::TargetOozesUpdateCase < Eco::API::UseCase
|
|
42
46
|
|
43
47
|
def target_ids_preview
|
44
48
|
dups = target_ids.select {|id| target_ids.count(id) > 1}
|
49
|
+
@total_search_oozes = target_ids.count
|
50
|
+
@dupped_search_oozes = dups.count
|
51
|
+
|
45
52
|
dups_str = dups.count > 0 ? "There are #{dups.count} duplicated ids" : "No duplicates detected"
|
46
53
|
msg = "Total target entries: #{target_ids.count} (#{dups_str})"
|
54
|
+
|
47
55
|
session.prompt_user("Do you want to proceed (y/N):", explanation: msg, default: "N", timeout: 10) do |res|
|
48
56
|
unless res.upcase.start_with?("Y")
|
49
57
|
puts "..."
|
@@ -50,30 +50,32 @@ class Eco::Data::Locations::NodeDiff
|
|
50
50
|
end
|
51
51
|
|
52
52
|
def diffs_summary
|
53
|
-
|
54
|
-
|
53
|
+
comp = "(#{source2.count} vs #{source1.count} nodes)"
|
54
|
+
return "There were no differences identified #{comp}" if diffs.empty?
|
55
|
+
msg = []
|
56
|
+
msg << "Identified #{diffs.count} differences #{comp}:"
|
55
57
|
msg << when_present(insert, '') do |count|
|
56
|
-
" • #{count} nodes to insert
|
58
|
+
" • #{count} nodes to insert"
|
57
59
|
end
|
58
60
|
msg << when_present(update, '') do |count|
|
59
|
-
" • #{count} nodes to update
|
61
|
+
" • #{count} nodes to update"
|
60
62
|
end
|
61
63
|
# msg << when_present(id, '') do |count|
|
62
64
|
# " • #{count} nodes to change id\n"
|
63
65
|
# end
|
64
66
|
msg << when_present(name, '') do |count|
|
65
|
-
" • #{count} nodes to change name
|
67
|
+
" • #{count} nodes to change name"
|
66
68
|
end
|
67
69
|
msg << when_present(move, '') do |count|
|
68
|
-
" • #{count} nodes to move
|
70
|
+
" • #{count} nodes to move"
|
69
71
|
end
|
70
72
|
msg << when_present(unarchive, '') do |count|
|
71
|
-
" • #{count} nodes to unarchive
|
73
|
+
" • #{count} nodes to unarchive"
|
72
74
|
end
|
73
75
|
msg << when_present(archive, '') do |count|
|
74
|
-
" • #{count} nodes to archive
|
76
|
+
" • #{count} nodes to archive"
|
75
77
|
end
|
76
|
-
msg
|
78
|
+
msg.join("\n")
|
77
79
|
end
|
78
80
|
|
79
81
|
private
|
data/lib/eco/version.rb
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: eco-helpers
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.6.
|
4
|
+
version: 2.6.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Oscar Segura
|
@@ -694,10 +694,12 @@ files:
|
|
694
694
|
- lib/eco/api/usecases/ooze_cases/export_register_case.rb
|
695
695
|
- lib/eco/api/usecases/ooze_samples.rb
|
696
696
|
- lib/eco/api/usecases/ooze_samples/helpers.rb
|
697
|
+
- lib/eco/api/usecases/ooze_samples/helpers/creatable.rb
|
697
698
|
- lib/eco/api/usecases/ooze_samples/helpers/exportable_ooze.rb
|
698
699
|
- lib/eco/api/usecases/ooze_samples/helpers/exportable_register.rb
|
699
700
|
- lib/eco/api/usecases/ooze_samples/helpers/filters.rb
|
700
701
|
- lib/eco/api/usecases/ooze_samples/helpers/ooze_handlers.rb
|
702
|
+
- lib/eco/api/usecases/ooze_samples/helpers/rescuable.rb
|
701
703
|
- lib/eco/api/usecases/ooze_samples/helpers/shortcuts.rb
|
702
704
|
- lib/eco/api/usecases/ooze_samples/helpers_migration.rb
|
703
705
|
- lib/eco/api/usecases/ooze_samples/helpers_migration/copying.rb
|