eco-helpers 2.7.17 → 2.7.19

Sign up to get free protection for your applications and to get access to all the features.
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