eco-helpers 2.7.17 → 2.7.19

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 35f96561e2b58978c8949c744ac79c87888f067def10f63e00e3393e94cb992c
4
- data.tar.gz: 7dba34b74428c53f7167eb1075b11bbd306432b3687c05986c66610da5b69f5e
3
+ metadata.gz: b5c149fd9a573b4749de56e7c0fd836bc98e94059b410de583bc4fb4b60cbe54
4
+ data.tar.gz: 6ab2832a7a6bf7ee001d6f17abc0ab7193eda256fe14357e735eef0c19105733
5
5
  SHA512:
6
- metadata.gz: 35223b9e52a315cf78b65393b509675a5ab515976e36535906b1a1e4588ccab178272ce209ab964b4f0365f74adccae9536db778edc5b524fa0cc70b327f0ccf
7
- data.tar.gz: 0b356c4f3ca79f4ae57cae1db37f97455199c0772a165f294577bf7cfe3b4f1249a3c6cbee34c8903cb2d637a3b4b28658a3897680d61b2494aeffdd026efb8f
6
+ metadata.gz: 0cf654ea67d048caf05f803f39d15ebd021569766c13a6e707f92478a864c7584a0a1fdfe7a2a9148ab9376cddb405c6156345cc3e99a2bae8e68663f7583033
7
+ data.tar.gz: 7f5e1496bcef34f5c074c8806c4e54ece4324756c4142ed4be694d5e0911a013fe859f1d66482a0023ef485743e10bf6d7e1fea0bf06145b1ad1062c322c1ee7
data/CHANGELOG.md CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
  All notable changes to this project will be documented in this file.
4
4
 
5
- ## [2.7.18] - 2024-06-xx
5
+ ## [2.7.19] - 2024-06-xx
6
6
 
7
7
  ### Added
8
8
 
@@ -10,6 +10,15 @@ All notable changes to this project will be documented in this file.
10
10
 
11
11
  ### Fixed
12
12
 
13
+ ## [2.7.18] - 2024-07-01
14
+
15
+ ### Changed
16
+
17
+ - `Eco::API::UseCases::GraphQL::Samples::Location::Service::TreeToList`
18
+ - Custom input node parsers: yield has_node and node as well.
19
+ - `Eco::API::UseCases::GraphQL::Samples::Location::Service::TreeDiff`
20
+ - Exclude archived nodes from the file as **default**
21
+
13
22
  ## [2.7.17] - 2024-06-22
14
23
 
15
24
  ### Added
data/eco-helpers.gemspec CHANGED
@@ -35,13 +35,13 @@ Gem::Specification.new do |spec|
35
35
  spec.add_dependency 'amatch', '>= 0.4.1', '< 0.5'
36
36
  spec.add_dependency 'aws-sdk-s3', '>= 1.142.0', '< 2'
37
37
  spec.add_dependency 'aws-sdk-ses', '>= 1.58.0', '< 2'
38
- spec.add_dependency 'bcrypt_pbkdf', '>= 1.0'
38
+ spec.add_dependency 'bcrypt_pbkdf', '~> 1.0'
39
39
  spec.add_dependency 'docx', '>= 0.8.0', '< 0.9'
40
40
  spec.add_dependency 'dotenv', '>= 2.8.1', '< 3'
41
41
  spec.add_dependency 'ecoportal-api', '>= 0.9.8', '< 0.10'
42
42
  spec.add_dependency 'ecoportal-api-graphql', '>= 0.3.18', '< 0.4'
43
43
  spec.add_dependency 'ecoportal-api-v2', '>= 1.1.8', '< 1.2'
44
- spec.add_dependency 'ed25519', '>= 1.2'
44
+ spec.add_dependency 'ed25519', '~> 1.2'
45
45
  spec.add_dependency 'fast_excel', '>= 0.5.0', '< 0.6'
46
46
  spec.add_dependency 'fuzzy_match', '>= 2.1.0', '< 2.2'
47
47
  spec.add_dependency 'hashdiff', '>= 1.1.0', '< 1.2'
@@ -1,11 +1,16 @@
1
1
  class ::Exception
2
2
  def patch_full_message(trace_count: -1)
3
- msg = []
4
3
  tracing = backtrace || []
5
- tracing = instance_of?(SystemStackError) ? tracing[1..30] : tracing[1..trace_count]
4
+ tracing = tracing[1..trace_count]
5
+ tracing = tracing[1..30] if instance_of?(SystemStackError)
6
6
  tracing ||= []
7
+
8
+ msg = []
7
9
  msg << "\n#{tracing.first} \n#{message} (#{self.class})"
8
- tracing.each_with_index {|bt, i| msg << "#{" "*8}#{i+1}: from #{bt}"}
10
+ tracing.each_with_index do |bt, i|
11
+ msg << "#{" " * 8}#{i + 1}: from #{bt}"
12
+ end
13
+
9
14
  msg.join("\n")
10
15
  rescue StandardError => e
11
16
  puts "Something is wrong with 'patch_full_message': #{e}"
@@ -13,6 +13,8 @@ module Eco
13
13
  def people_search(data, options: {}, silent: true) # rubocop:disable Metrics/AbcSize
14
14
  session.logger.info("Going to api get #{data.length} entries...")
15
15
 
16
+ silent = silent && data.count <= 500
17
+
16
18
  start = Time.now
17
19
  people = session.batch.search(data, silent: silent).then do |status|
18
20
  secs = (Time.now - start).round(3)
@@ -102,10 +102,22 @@ module Eco::API::UseCases::GraphQL::Samples
102
102
  # - `as_nodes_json`
103
103
  # 2. `org_tree` is native from `Eco::Data::Locations::NodeBase::CsvConvert`
104
104
  def file_nodes_list
105
- @file_nodes_list ||= as_nodes_json(org_tree(input_csv)).tap do |list|
105
+ @file_nodes_list ||= as_nodes_json(file_tree).tap do |list|
106
106
  log(:info) { "Converted input csv file to list of #{list.count} hash-nodes" }
107
107
  end
108
108
  end
109
+
110
+ def file_tree
111
+ org_tree(input_csv).then do |tree|
112
+ next tree if include_file_archived?
113
+
114
+ tree.active_tree
115
+ end
116
+ end
117
+
118
+ def include_file_archived?
119
+ options.dig(:input, :file, :include, :archived)
120
+ end
109
121
  end
110
122
  end
111
123
  end
@@ -14,11 +14,11 @@ module Eco::API::UseCases::GraphQL::Samples::Location::Service
14
14
  return @node_parser_block if instance_variable_defined?(:@node_parser_block)
15
15
  custom_before = custom_node_parser_before_block
16
16
  custom_after = custom_node_parser_block
17
- @node_parser_block = proc do |node_hash|
17
+ @node_parser_block = proc do |node_hash, node|
18
18
  node_hash.tap do
19
- custom_before&.call(node_hash)
20
- default_node_parse(node_hash)
21
- custom_after&.call(node_hash)
19
+ custom_before&.call(node_hash, node)
20
+ default_node_parse(node_hash, node)
21
+ custom_after&.call(node_hash, node)
22
22
  end
23
23
  end
24
24
  end
@@ -35,7 +35,7 @@ module Eco::API::UseCases::GraphQL::Samples::Location::Service
35
35
  end
36
36
 
37
37
  # Generic parsing
38
- def default_node_parse(node_hash)
38
+ def default_node_parse(node_hash, _node)
39
39
  class_ids = to_classification_ids(node_hash['classifications'])
40
40
  node_hash['classifications'] = class_ids
41
41
  end
@@ -24,12 +24,10 @@ module Eco::API::UseCases::GraphQL::Samples::Location::Service
24
24
  next key unless node_attr_maps.key?(key)
25
25
  node_attr_maps[key]
26
26
  end.tap do |node_hash|
27
- node_parser_block&.call(node_hash)
28
- yield(node_hash) if block_given?
27
+ node_parser_block&.call(node_hash, node)
28
+ yield(node_hash, node) if block_given?
29
29
  end
30
- end.tap do |list|
31
- list.each(&node_parser_block)
32
- end
30
+ end.compact.reject(&:empty?)
33
31
  end
34
32
  end
35
33
  end
data/lib/eco/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module Eco
2
- VERSION = '2.7.17'.freeze
2
+ VERSION = '2.7.19'.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.17
4
+ version: 2.7.19
5
5
  platform: ruby
6
6
  authors:
7
7
  - Oscar Segura
@@ -202,14 +202,14 @@ dependencies:
202
202
  name: bcrypt_pbkdf
203
203
  requirement: !ruby/object:Gem::Requirement
204
204
  requirements:
205
- - - ">="
205
+ - - "~>"
206
206
  - !ruby/object:Gem::Version
207
207
  version: '1.0'
208
208
  type: :runtime
209
209
  prerelease: false
210
210
  version_requirements: !ruby/object:Gem::Requirement
211
211
  requirements:
212
- - - ">="
212
+ - - "~>"
213
213
  - !ruby/object:Gem::Version
214
214
  version: '1.0'
215
215
  - !ruby/object:Gem::Dependency
@@ -316,14 +316,14 @@ dependencies:
316
316
  name: ed25519
317
317
  requirement: !ruby/object:Gem::Requirement
318
318
  requirements:
319
- - - ">="
319
+ - - "~>"
320
320
  - !ruby/object:Gem::Version
321
321
  version: '1.2'
322
322
  type: :runtime
323
323
  prerelease: false
324
324
  version_requirements: !ruby/object:Gem::Requirement
325
325
  requirements:
326
- - - ">="
326
+ - - "~>"
327
327
  - !ruby/object:Gem::Version
328
328
  version: '1.2'
329
329
  - !ruby/object:Gem::Dependency