eco-helpers 2.7.2 → 2.7.4

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.
Files changed (40) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +23 -3
  3. data/eco-helpers.gemspec +1 -1
  4. data/lib/eco/api/common/loaders/base.rb +4 -3
  5. data/lib/eco/api/common/loaders/config/workflow/mailer.rb +2 -2
  6. data/lib/eco/api/common/loaders/parser.rb +1 -0
  7. data/lib/eco/api/common/people/default_parsers/csv_parser.rb +47 -33
  8. data/lib/eco/api/common/people/default_parsers/login_providers_parser.rb +1 -1
  9. data/lib/eco/api/common/people/default_parsers/xls_parser.rb +8 -2
  10. data/lib/eco/api/common/people/default_parsers.rb +0 -11
  11. data/lib/eco/api/common/people/person_attribute_parser.rb +2 -1
  12. data/lib/eco/api/common/people/person_entry.rb +4 -2
  13. data/lib/eco/api/session/batch/errors.rb +43 -44
  14. data/lib/eco/api/session.rb +9 -2
  15. data/lib/eco/api/usecases/default/locations/csv_to_tree_case.rb +1 -1
  16. data/lib/eco/api/usecases/default/people/set_default_tag_case.rb +2 -2
  17. data/lib/eco/api/usecases/default/people/supers_cyclic_identify_case.rb +15 -17
  18. data/lib/eco/api/usecases/default/people/switch_supervisor_case.rb +26 -20
  19. data/lib/eco/api/usecases/default/people/transfer_account_case.rb +86 -70
  20. data/lib/eco/api/usecases/default_cases/hris_case.rb +1 -1
  21. data/lib/eco/api/usecases/default_cases/to_csv_case.rb +7 -7
  22. data/lib/eco/api/usecases/graphql/helpers/location/command.rb +1 -1
  23. data/lib/eco/api/usecases/graphql/samples/location/command/service/tree_update.rb +73 -65
  24. data/lib/eco/api/usecases/graphql/samples/location/service/tree_diff.rb +7 -1
  25. data/lib/eco/api/usecases/graphql/samples/location/service/tree_to_list/output.rb +1 -0
  26. data/lib/eco/api/usecases/graphql/samples/location/service/tree_to_list.rb +1 -0
  27. data/lib/eco/api/usecases/ooze_cases/export_register_case.rb +1 -1
  28. data/lib/eco/api/usecases/ooze_samples/ooze_base_case.rb +13 -9
  29. data/lib/eco/api/usecases/ooze_samples/ooze_run_base_case.rb +4 -4
  30. data/lib/eco/api/usecases/ooze_samples/register_export_case.rb +9 -6
  31. data/lib/eco/api/usecases/ooze_samples/register_migration_case.rb +5 -5
  32. data/lib/eco/api/usecases/ooze_samples/register_update_case.rb +7 -5
  33. data/lib/eco/api/usecases/ooze_samples/target_oozes_update_case.rb +2 -2
  34. data/lib/eco/api/usecases.rb +19 -13
  35. data/lib/eco/cli/scripting/args_helpers.rb +2 -0
  36. data/lib/eco/data/files/helpers.rb +25 -12
  37. data/lib/eco/data/hashes/sanke_camel_indifferent_access.rb +0 -5
  38. data/lib/eco/language/models/parser_serializer.rb +4 -2
  39. data/lib/eco/version.rb +1 -1
  40. metadata +3 -3
@@ -33,6 +33,7 @@ module Eco::API::UseCases::GraphQL::Samples
33
33
  def process
34
34
  as_nodes_json(input_tagtree).tap do |list|
35
35
  next generate_live_nodes_file(list) unless list.empty?
36
+
36
37
  log(:error) { "There are no location nodes!" }
37
38
  end
38
39
  end
@@ -92,7 +92,7 @@ class Eco::API::UseCases::OozeCases::ExportRegisterCase < Eco::API::UseCases::Oo
92
92
  def filename
93
93
  @filename ||= (options[:file] || options.dig(:export, :file, :name)).tap do |filename|
94
94
  unless filename
95
- session.logger.error("Destination file not specified")
95
+ log(:error) { "Destination file not specified" }
96
96
  return false
97
97
  end
98
98
  end
@@ -114,7 +114,7 @@ class Eco::API::UseCases::OozeSamples::OozeBaseCase < Eco::API::Common::Loaders:
114
114
  apiv2.pages.get(ooze_id, stage_id: stage_id).tap do |ooze|
115
115
  if ooze
116
116
  new_target(ooze)
117
- logger.info("Got #{object_reference(ooze)}")
117
+ log(:info) { "Got #{object_reference(ooze)}" }
118
118
  else
119
119
  exit_error "Could not get ooze '#{ooze_id}'"
120
120
  end
@@ -134,7 +134,9 @@ class Eco::API::UseCases::OozeSamples::OozeBaseCase < Eco::API::Common::Loaders:
134
134
  return apiv2.pages.get(ooze_id, stage_id: stg.id).tap do |stage|
135
135
  if stage
136
136
  new_target(stage)
137
- logger.info("Got #{object_reference(stage)} from #{object_reference(ooze)}")
137
+ log(:info) {
138
+ "Got #{object_reference(stage)} from #{object_reference(ooze)}"
139
+ }
138
140
  else
139
141
  exit_error "Could not get stage '#{id_name}' in ooze '#{ooze_id}'"
140
142
  end
@@ -159,9 +161,11 @@ class Eco::API::UseCases::OozeSamples::OozeBaseCase < Eco::API::Common::Loaders:
159
161
  apiv2.pages.update(ooze).tap do |response|
160
162
  if response.success?
161
163
  ooze.consolidate!
162
- logger.info("Successful update of #{object_reference(ooze)}")
164
+ log(:info) { "Successful update of #{object_reference(ooze)}" }
163
165
  else
164
- logger.error("Could not update #{object_reference(ooze)} (created_at: #{ooze.created_at}: #{response.body}")
166
+ log(:error) {
167
+ "Could not update #{object_reference(ooze)} (created_at: #{ooze.created_at}: #{response.body}"
168
+ }
165
169
  end
166
170
  end
167
171
  end
@@ -172,7 +176,7 @@ class Eco::API::UseCases::OozeSamples::OozeBaseCase < Eco::API::Common::Loaders:
172
176
  if warn_pending_changes
173
177
  msg = "You you are switching to a new target #{object_reference(object)}"
174
178
  msg += " after doing unsaved changes to #{object_reference(target)}"
175
- logger.warn msg
179
+ log(:warn) { msg }
176
180
  end
177
181
  yield(target) if block_given?
178
182
  end
@@ -185,7 +189,7 @@ class Eco::API::UseCases::OozeSamples::OozeBaseCase < Eco::API::Common::Loaders:
185
189
 
186
190
  def backup_patch!(ooze = target)
187
191
  unless (patch = (patch_doc(ooze) || {})["page"])
188
- logger.info "No changes to update for #{object_reference(ooze)}."
192
+ log(:info) { "No changes to update for #{object_reference(ooze)}." }
189
193
  return
190
194
  end
191
195
 
@@ -216,12 +220,12 @@ class Eco::API::UseCases::OozeSamples::OozeBaseCase < Eco::API::Common::Loaders:
216
220
 
217
221
  def dry_run_feedback(entry = target)
218
222
  entry.validate.tap do |validation|
219
- logger.error(validation) if validation.is_a?(String)
223
+ log(:error) { validation } if validation.is_a?(String)
220
224
  end
221
225
  display_patch(entry)
222
226
  backup_patch!(entry)
223
227
  if dirty?(entry) && dry_count > self.class::DRY_COUNT
224
- logger.info("Reached #{self.class::DRY_COUNT} dry-run samples.")
228
+ log(:info) { "Reached #{self.class::DRY_COUNT} dry-run samples." }
225
229
  exit(0)
226
230
  end
227
231
  false
@@ -232,7 +236,7 @@ class Eco::API::UseCases::OozeSamples::OozeBaseCase < Eco::API::Common::Loaders:
232
236
  end
233
237
 
234
238
  def exit_error(msg)
235
- logger.error(msg)
239
+ log(:error) { msg }
236
240
  exit(1)
237
241
  end
238
242
  end
@@ -47,10 +47,10 @@ class Eco::API::UseCases::OozeSamples::OozeRunBaseCase < Eco::API::UseCases::Ooz
47
47
  end
48
48
 
49
49
  def exit_if_no_changes!
50
- unless changes = !!patch_doc["page"]
51
- logger.warn "No Changes!!"
52
- exit(0)
53
- end
50
+ return if (changes = !!patch_doc["page"])
51
+
52
+ log(:info) { "No Changes!!" }
53
+ exit(0)
54
54
  end
55
55
 
56
56
  def prompt_to_confirm!
@@ -111,7 +111,7 @@ class Eco::API::UseCases::OozeSamples::RegisterExportCase < Eco::API::Common::Lo
111
111
  apiv2.pages.get(ooze_id, stage_id: stage_id).tap do |ooze|
112
112
  if ooze
113
113
  new_target(ooze)
114
- logger.info("Got #{object_reference(ooze)}")
114
+ log(:info) { "Got #{object_reference(ooze)}" }
115
115
  else
116
116
  exit_error "Could not get ooze '#{ooze_id}'"
117
117
  end
@@ -125,12 +125,15 @@ class Eco::API::UseCases::OozeSamples::RegisterExportCase < Eco::API::Common::Lo
125
125
  exit_error "There's no target ooze to get retrieve stages from"
126
126
  end
127
127
 
128
- if stg = ooze.stages[id_name] || ooze.stages.get_by_name(id_name)
128
+ stg = ooze.stages[id_name] || ooze.stages.get_by_name(id_name)
129
+ if stg
129
130
  return ooze if ooze.respond_to?(:current_stage_id) && (ooze.current_stage_id == stg.id)
130
131
  return apiv2.pages.get(ooze_id, stage_id: stg.id).tap do |stage|
131
132
  if stage
132
133
  new_target(stage)
133
- logger.info("Got #{object_reference(stage)} from #{object_reference(ooze)}")
134
+ log(:info) {
135
+ "Got #{object_reference(stage)} from #{object_reference(ooze)}"
136
+ }
134
137
  else
135
138
  exit_error "Could not get stage '#{id_name}' in ooze '#{ooze_id}'"
136
139
  end
@@ -154,7 +157,7 @@ class Eco::API::UseCases::OozeSamples::RegisterExportCase < Eco::API::Common::Lo
154
157
  ) do |res|
155
158
  next if res.upcase.start_with?("Y")
156
159
  puts "..."
157
- logger.info "Aborting script..."
160
+ log(:info) { "Aborting script..." }
158
161
  exit(0)
159
162
  end
160
163
  end
@@ -175,7 +178,7 @@ class Eco::API::UseCases::OozeSamples::RegisterExportCase < Eco::API::Common::Lo
175
178
  end
176
179
 
177
180
  def conf_search
178
- return search if respond_to?(:search)
181
+ search if respond_to?(:search)
179
182
  end
180
183
 
181
184
  def register_id
@@ -187,7 +190,7 @@ class Eco::API::UseCases::OozeSamples::RegisterExportCase < Eco::API::Common::Lo
187
190
  end
188
191
 
189
192
  def exit_error(msg)
190
- logger.error(msg)
193
+ log(:error) { msg }
191
194
  exit(1)
192
195
  end
193
196
  end
@@ -52,7 +52,7 @@ class Eco::API::UseCases::OozeSamples::RegisterMigrationCase < Eco::API::UseCase
52
52
  csv << ["src_page_id", "dst_page_id"]
53
53
  super(session, options, usecase, &block)
54
54
  end
55
- logger.info("File '#{out_csv_filename}' has been created.")
55
+ log(:info) { "File '#{out_csv_filename}' has been created." }
56
56
  end
57
57
  end
58
58
 
@@ -79,15 +79,15 @@ class Eco::API::UseCases::OozeSamples::RegisterMigrationCase < Eco::API::UseCase
79
79
  end
80
80
 
81
81
  if msg = pairing_tracking.report_src_unpaired(only_present: !self.class::REPORT_SRC_EMTPY, only_indexed: !self.class::REPORT_SRC_DEINDEX)
82
- logger.warn(msg)
82
+ log(:warn) { msg }
83
83
  end
84
84
 
85
85
  if msg = pairing_tracking.report_multi_pairs(only_present: !self.class::REPORT_SRC_EMTPY, only_indexed: !self.class::REPORT_SRC_DEINDEX, dst_exclude_ximport: !self.class::REPORT_DST_XIMPORT)
86
- logger.warn(msg)
86
+ log(:warn) { msg }
87
87
  end
88
88
 
89
89
  if msg = pairing_tracking.report_dst_unpaired(only_required: false, exclude_ximport: !self.class::REPORT_DST_XIMPORT)
90
- logger.warn(msg)
90
+ log(:warn) { msg }
91
91
  end
92
92
  end
93
93
  end
@@ -150,7 +150,7 @@ class Eco::API::UseCases::OozeSamples::RegisterMigrationCase < Eco::API::UseCase
150
150
  if stg = target_stage(name)
151
151
  yield(stg)
152
152
  else
153
- logger.warn("Entry '#{target.id}' does not have stage '#{name}'")
153
+ log(:warn) { "Entry '#{target.id}' does not have stage '#{name}'" }
154
154
  end
155
155
  end
156
156
 
@@ -80,7 +80,7 @@ class Eco::API::UseCases::OozeSamples::RegisterUpdateCase < Eco::API::UseCases::
80
80
  if (pending = queue_shift(page_result.id)) && dirty?(pending)
81
81
  msg = "Inconsistent search results. "
82
82
  msg << "Launching update on '#{object_reference(pending)}' to be able to queue it back"
83
- logger.warn msg
83
+ log(:warn) { msg }
84
84
  update_ooze(pending)
85
85
  end
86
86
  if (ooz = ooze(page_result.id))
@@ -88,7 +88,7 @@ class Eco::API::UseCases::OozeSamples::RegisterUpdateCase < Eco::API::UseCases::
88
88
  yield(ooz)
89
89
  else
90
90
  @non_retrieved_oozes += 1
91
- logger.warn "Could not get page #{page_result.id}"
91
+ log(:warn) { "Could not get page #{page_result.id}" }
92
92
  end
93
93
  end
94
94
  update_oozes
@@ -106,7 +106,7 @@ class Eco::API::UseCases::OozeSamples::RegisterUpdateCase < Eco::API::UseCases::
106
106
  msg << "trying to queue different objects with same page id:\n"
107
107
  msg << " • already queued (changes will go): #{object_reference(elem)}\n"
108
108
  msg << " • tried to queue (lost changes): #{object_reference(object)}"
109
- logger.warn msg
109
+ log(:warn) { msg }
110
110
  end
111
111
  else
112
112
  batch_queue << object unless batch_queue.include?(object)
@@ -180,7 +180,9 @@ class Eco::API::UseCases::OozeSamples::RegisterUpdateCase < Eco::API::UseCases::
180
180
 
181
181
  def backup_patch!(ooze = target)
182
182
  return if (patch_doc(ooze) || {})["page"]
183
- logger.info "No changes to update for #{object_reference(ooze)}."
183
+ log(:info) {
184
+ "No changes to update for #{object_reference(ooze)}."
185
+ }
184
186
  end
185
187
 
186
188
  def results_preview
@@ -196,7 +198,7 @@ class Eco::API::UseCases::OozeSamples::RegisterUpdateCase < Eco::API::UseCases::
196
198
  ) do |res|
197
199
  next if res.upcase.start_with?("Y")
198
200
  puts "..."
199
- logger.info "Aborting script..."
201
+ log(:info) { "Aborting script..." }
200
202
  exit(0)
201
203
  end
202
204
  end
@@ -21,7 +21,7 @@ class Eco::API::UseCases::OozeSamples::TargetOozesUpdateCase < Eco::API::UseCase
21
21
  yield(ooz)
22
22
  else
23
23
  @non_retrieved_oozes += 1
24
- logger.warn "Could not get page #{id}"
24
+ log(:warn) { "Could not get page #{id}" }
25
25
  end
26
26
  end
27
27
  update_oozes
@@ -53,7 +53,7 @@ class Eco::API::UseCases::OozeSamples::TargetOozesUpdateCase < Eco::API::UseCase
53
53
  session.prompt_user("Do you want to proceed (y/N):", explanation: msg, default: "N", timeout: 10) do |res|
54
54
  unless res.upcase.start_with?("Y")
55
55
  puts "..."
56
- logger.info "Aborting script..."
56
+ log(:info) { "Aborting script..." }
57
57
  exit(0)
58
58
  end
59
59
  end
@@ -17,7 +17,6 @@ module Eco
17
17
  msg += ". Case name '#{case_name}'" if case_name
18
18
  super(msg)
19
19
  end
20
-
21
20
  end
22
21
 
23
22
  extend Eco::API::Common::ClassAutoLoader
@@ -26,7 +25,7 @@ module Eco
26
25
  autoloads_children_of "Eco::API::Common::Loaders::UseCase"
27
26
  autoload_namespace_ignore "Eco::API"
28
27
 
29
- def initialize()
28
+ def initialize
30
29
  @usecases = {}
31
30
  @cache_init = false
32
31
  @cases_by_name = {}
@@ -38,7 +37,7 @@ module Eco
38
37
  end
39
38
 
40
39
  def empty?
41
- count == 0
40
+ count.zero?
42
41
  end
43
42
 
44
43
  def each(&block)
@@ -69,10 +68,12 @@ module Eco
69
68
  # Adds `usecase` to the _Collection_. Before it tries to auto-load pending classes of `auto_loaded_class`.
70
69
  # @param usecase [Eco::API::UseCases::UseCase] the usecase to be added.
71
70
  def add(usecase)
72
- raise "Expected Eco::API::UseCases::UseCase object. Given: #{usecase}" if !usecase || !usecase.is_a?(Eco::API::UseCases::UseCase)
71
+ msg = "Expected Eco::API::UseCases::UseCase object. Given: #{usecase.class}"
72
+ raise ArgumentError, msg if !usecase || !usecase.is_a?(Eco::API::UseCases::UseCase)
73
+
73
74
  name = usecase.name
74
75
  type = usecase.type
75
- puts "Warning: overriding '#{type.to_s}' case #{name}" if self.defined?(name, type: type)
76
+ puts "Warning: overriding '#{type}' case #{name}" if self.defined?(name, type: type)
76
77
  to_h[key(name, type)] = usecase
77
78
  @cache_init = false
78
79
  usecase
@@ -88,8 +89,10 @@ module Eco
88
89
  # @param cases [Eco::API::UseCases] the source set of cases to be merged.
89
90
  # @return [Eco::API::UseCases] `self`.
90
91
  def merge(cases)
91
- return self if !cases
92
- raise "Expected a Eco::API::UseCases object. Given #{cases.class}" if !cases.is_a?(Eco::API::UseCases)
92
+ return self unless cases
93
+
94
+ msg = "Expected a Eco::API::UseCases object. Given #{cases.class}"
95
+ raise msg unless cases.is_a?(Eco::API::UseCases)
93
96
 
94
97
  to_h.merge!(cases.to_h).transform_values do |usecase|
95
98
  usecase.root = self
@@ -104,18 +107,20 @@ module Eco
104
107
  end
105
108
 
106
109
  def types(name)
107
- return nil if !name?(name)
108
- by_name[name].map { |usecase| usecase.type }
110
+ return nil unless name?(name)
111
+
112
+ by_name[name].map(&:type)
109
113
  end
110
114
 
111
115
  def case(name, type: nil)
112
- if type && target_case = to_h[key(name, type)]
116
+ if type && (target_case = to_h[key(name, type)])
113
117
  return target_case
114
118
  elsif type
115
119
  raise UseCases::UnknownCase.new(case_name: name, type: type)
116
120
  end
117
- raise UseCases::UnknownCase.new(case_name: name, type: type) unless cases = by_name[name]
118
- raise UseCases::AmbiguousCaseReference.new(case_name: name) if cases.length > 1
121
+ raise UseCases::UnknownCase.new(case_name: name, type: type) unless (cases = by_name[name])
122
+ raise UseCases::AmbiguousCaseReference.new(case_name: name) if cases.length > 1
123
+
119
124
  cases.first
120
125
  end
121
126
 
@@ -137,7 +142,8 @@ module Eco
137
142
  # first, make sure it loads pending `:custom_children` children to be loaded
138
143
  re_init = self.class.autoload_children(self)
139
144
  return true if @cache_init && !re_init
140
- @by_name = @usecases.values.group_by { |usecase| usecase.name }
145
+
146
+ @by_name = @usecases.values.group_by(&:name)
141
147
  @cache_init = true
142
148
  end
143
149
 
@@ -88,6 +88,8 @@ module Eco
88
88
  private
89
89
 
90
90
  def file_exists?(filename)
91
+ return false if filename.nil?
92
+
91
93
  File.exist?(filename) || File.exist?(File.expand_path(filename))
92
94
  end
93
95
  end
@@ -1,7 +1,8 @@
1
+ # rubocop:disable Style/SpecialGlobalVars
1
2
  module Eco
2
3
  module Data
3
4
  module Files
4
- DEFAULT_TIMESTAMP_PATTERN = '%Y-%m-%dT%H%M%S'
5
+ DEFAULT_TIMESTAMP_PATTERN = '%Y-%m-%dT%H%M%S'.freeze
5
6
 
6
7
  class << self
7
8
  def included(base)
@@ -22,9 +23,11 @@ module Eco
22
23
  end
23
24
 
24
25
  def read_with_tolerance(file, encoding:, tolerance: 5)
25
- return nil unless content = get_file_content_with_encoding(file, encoding: encoding)
26
+ content = get_file_content_with_encoding(file, encoding: encoding)
27
+ return nil unless content
28
+
26
29
  content.scrub do |bytes|
27
- replacement = '<' + bytes.unpack('H*')[0] + '>'
30
+ replacement = "<#{bytes.unpack1('H*')}>"
28
31
  if tolerance <= 0
29
32
  logger.error("There were more than 5 encoding errors in the file '#{file}'.")
30
33
  return content
@@ -67,8 +70,9 @@ module Eco
67
70
  end
68
71
 
69
72
  def file_exists?(file)
70
- return false if !file
71
- return File.exist?(file) || File.exist?(File.expand_path(file))
73
+ return false unless file
74
+
75
+ File.exist?(file) || File.exist?(File.expand_path(file))
72
76
  end
73
77
 
74
78
  def dir_exists?(path)
@@ -79,9 +83,9 @@ module Eco
79
83
  date.strftime(timestamp_pattern)
80
84
  end
81
85
 
82
- def timestamp_file(filename, timestamp_pattern =DEFAULT_TIMESTAMP_PATTERN)
86
+ def timestamp_file(filename, timestamp_pattern = DEFAULT_TIMESTAMP_PATTERN)
83
87
  file_pattern = Eco::Data::Files::FilePattern.new(filename)
84
- file_pattern.resolve(start: timestamp(timestamp_pattern) + '_')
88
+ file_pattern.resolve(start: timestamp(timestamp_pattern) + '_') # rubocop:disable Style/StringConcatenation
85
89
  end
86
90
 
87
91
  def copy_file(source_file, dest_file, time_stamp: false)
@@ -90,8 +94,9 @@ module Eco
90
94
  end
91
95
 
92
96
  def file_empty?(path)
93
- return true if !File.file?(path)
94
- File.zero?(path)
97
+ return true unless File.file?(path)
98
+
99
+ File.empty?(path)
95
100
  end
96
101
 
97
102
  def script_subfolder
@@ -104,11 +109,17 @@ module Eco
104
109
  target = File.join(File.expand_path(folder), pattern)
105
110
  Dir[target].tap do |dir_files|
106
111
  dir_files.select! {|f| File.file?(f)}
112
+
107
113
  if older_than
108
- dir_files.select! {|f| File.mtime(f) < (Time.now - (60*60*24*older_than))}
114
+ dir_files.select! do |f|
115
+ File.mtime(f) < (Time.now - (60*60*24*older_than))
116
+ end
109
117
  end
110
- if regexp && regexp.is_a?(Regexp)
111
- dir_files.select! {|f| File.basename(f).match(regexp)}
118
+
119
+ if regexp.is_a?(Regexp)
120
+ dir_files.select! do |f|
121
+ File.basename(f).match(regexp)
122
+ end
112
123
  end
113
124
  end.sort
114
125
  end
@@ -125,3 +136,5 @@ module Eco
125
136
  end
126
137
  end
127
138
  end
139
+
140
+ # rubocop:enable Style/SpecialGlobalVars
@@ -37,14 +37,9 @@ module Eco
37
37
  target_key = ext_keys.first unless ext_keys.empty? || ext_keys.include?(target_key)
38
38
  end
39
39
 
40
- puts "final target_key: '#{key}' => '#{target_key}'" if key == 'barCamel'
41
-
42
40
  hash[target_key] = value
43
41
  hash_isca_resolve_key!(hash, key, prefer: prefer, residual: residual)
44
42
 
45
- pp hash if key == 'barCamel'
46
- puts "*" * 20 if key == 'barCamel'
47
-
48
43
  value
49
44
  end
50
45
 
@@ -8,7 +8,8 @@ module Eco
8
8
 
9
9
  # Parser/serializer.
10
10
  # @param attr [String, Symbol] name of the parsed/serialized.
11
- # @param dependencies [Hash] provisioning of _**default dependencies**_ that will be required when calling back to the
11
+ # @param dependencies [Hash] provisioning of _**default dependencies**_
12
+ # that will be required when calling back to the
12
13
  # parsing or serializing functions.
13
14
  def initialize(attr, dependencies: {})
14
15
  @attr = attr
@@ -67,7 +68,8 @@ module Eco
67
68
  # @param object [Any] source data to be serialized.
68
69
  # @param dependencies [Hash] _additional dependencies_ that should be merged to the _default dependencies_.
69
70
  def serialize(object, category = :default, dependencies: {}, &block)
70
- raise "There is no serializer of type '#{category}' for this attribue '#{attr}'" unless serializer_category?(category)
71
+ msg = "There is no serializer of type '#{category}' for this attribue '#{attr}'"
72
+ raise msg unless serializer_category?(category)
71
73
 
72
74
  deps = resolve_dependencies(@dependencies.merge(dependencies), &block)
73
75
  call_block(object, deps, attr, &@serializer[category.to_sym])
data/lib/eco/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module Eco
2
- VERSION = "2.7.2"
2
+ VERSION = '2.7.4'.freeze
3
3
  end
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.7.2
4
+ version: 2.7.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Oscar Segura
@@ -156,7 +156,7 @@ dependencies:
156
156
  requirements:
157
157
  - - ">="
158
158
  - !ruby/object:Gem::Version
159
- version: 0.3.15
159
+ version: 0.3.16
160
160
  - - "<"
161
161
  - !ruby/object:Gem::Version
162
162
  version: '0.4'
@@ -166,7 +166,7 @@ dependencies:
166
166
  requirements:
167
167
  - - ">="
168
168
  - !ruby/object:Gem::Version
169
- version: 0.3.15
169
+ version: 0.3.16
170
170
  - - "<"
171
171
  - !ruby/object:Gem::Version
172
172
  version: '0.4'