eco-helpers 1.5.8 → 1.5.13

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: 2b5a4fcfab321e9a7071a18fb52c38c21a67314a44a2edda63f4783de6ea9f38
4
- data.tar.gz: 20b067294c6e2d47c6efa09c62052d2081ce3a56252216fb11c9e465ed0fc5af
3
+ metadata.gz: f83b4bc20ff8289dbc743531ceaf75350fefbefa687c3f88ae09325b762e1fd1
4
+ data.tar.gz: b6ecd929fc1494ba657755020eac2cd92bdfe1ad4b4e5beb454c2bcaea165b77
5
5
  SHA512:
6
- metadata.gz: 92bc7a1814a8654bc9831ca8e763802ad40f0679c7ee31bc26b2146f7006744b576fa7586c16b2bd50deb1b74738c41d08d14e47b41fd3d34fd299d753213bb1
7
- data.tar.gz: 1dbdacf348a3ec57718dbf15dc825adf97839ea070ae0463b4df1a8a020c3c8bee8edc5b3903029d57f112a8517f20ac0870a5b73a206257be21d27e425c66f2
6
+ metadata.gz: 0fbb3710424b72248a2abefb0a0c8682a6fa4e97c69b50af951298c867582e4e857b5db25fd0afe1ba0a6379f6ba85e751a48c1bed1b091ad0a180f1d52f73df
7
+ data.tar.gz: 16157a6f8f6118574bec5ca59716b9c52b860b89acab5a7d56bc720b34339de80b747543da684ddd68b23c694f0a67e6af82396f95c1b3811bcf203e7cadb7ee
data/.yardopts CHANGED
@@ -5,5 +5,6 @@
5
5
  --no-private
6
6
  --output-dir ./doc
7
7
  'lib/**/*.rb'
8
+ CHANGELOG.md
8
9
  -
9
10
  LICENSE
@@ -1,7 +1,54 @@
1
1
  # Change Log
2
2
  All notable changes to this project will be documented in this file.
3
3
 
4
- ## [1.5.8] - 2020-12-xx
4
+ ## [1.5.13] - 2021-02-01
5
+
6
+ ### Added
7
+ ### Changed
8
+ - upgraded dependency with `ecoportal-api-oozes`
9
+
10
+ ### Fixed
11
+ - `Eco::API::Session::Config::Api` was not including the correct `host`
12
+ - this could have launched an `api` request to `live.ecoportal.com` when targeting `pre.dev`
13
+
14
+ ## [1.5.12] - 2021-02-01
15
+
16
+ ### Added
17
+ - `Eco::API::Common::People::DefaultParsers::CSVParser` when cell content is `Null`, capture `nil` value.
18
+
19
+ ### Changed
20
+ - upgraded `ecoportal-api` dependency
21
+
22
+ ### Fixed
23
+
24
+
25
+ ## [1.5.11] - 2021-01-25
26
+
27
+ ### Added
28
+ - `Eco::API::Organization::TagTree#subtag?` to check if the tag is in any subtree.
29
+
30
+ ### Changed
31
+
32
+ ### Fixed
33
+ - `Eco::API::MicroCases#set_supervisor` shouldn't set it if the entry does not have it.
34
+
35
+ ## [1.5.10] - 2021-01-19
36
+
37
+ ### Added
38
+ ### Changed
39
+ ### Fixed
40
+ - `Eco::API::Session::Batch::Errors#print` show the row number of the input data.
41
+
42
+ ## [1.5.9] - 2021-01-08
43
+
44
+ ### Added
45
+ - `Eco::API::Organization::TagTree#subtags` to get all the tags but those of the highest level.
46
+
47
+ ### Changed
48
+ ### Fixed
49
+
50
+
51
+ ## [1.5.8] - 2021-01-05
5
52
 
6
53
  ### Added
7
54
  ### Changed
@@ -9,7 +56,7 @@ All notable changes to this project will be documented in this file.
9
56
  - `Eco::API::Session::Batch::Jobs#job` shouldn't be calling the post-launch callback function on creation.
10
57
  - `Eco::API::Session#new_job` should include a `&block` parameter.
11
58
  - `Eco::API::UseCases::DefaultCases::RefreshCase`: fixed typo
12
-
59
+
13
60
  ## [1.5.7] - 2020-12-17
14
61
 
15
62
  ### Added
@@ -13,6 +13,7 @@ Gem::Specification.new do |s|
13
13
  s.summary = %q{eco-helpers to manage people api cases}
14
14
  s.homepage = "https://www.ecoportal.com"
15
15
  s.licenses = %w[MIT]
16
+ s.required_ruby_version = '>= 2.4.4'
16
17
 
17
18
  s.files = `git ls-files -z`.split("\x0").reject do |f|
18
19
  f.match(%r{^(test|spec|features)/})
@@ -28,8 +29,8 @@ Gem::Specification.new do |s|
28
29
  s.add_development_dependency "yard", ">= 0.9.18", "< 0.10"
29
30
  s.add_development_dependency "redcarpet", ">= 3.5.0", "< 3.6"
30
31
 
31
- s.add_dependency 'ecoportal-api', '>= 0.7.3', '< 0.8'
32
- s.add_dependency 'ecoportal-api-oozes', '>= 0.7.2', '< 0.8'
32
+ s.add_dependency 'ecoportal-api', '>= 0.7.4', '< 0.8'
33
+ s.add_dependency 'ecoportal-api-oozes', '>= 0.7.3', '< 0.8'
33
34
  s.add_dependency 'aws-sdk-s3', '>= 1.64.0', '< 2'
34
35
  s.add_dependency 'aws-sdk-ses', '>= 1.29.0', '< 2'
35
36
  s.add_dependency 'dotenv', '>= 2.7.0', '< 2.8'
@@ -5,8 +5,7 @@ class Eco::API::Common::People::DefaultParsers::CSVParser < Eco::API::Common::Lo
5
5
  Eco::CSV.parse(data, headers: true, skip_blanks: true).each_with_object([]) do |row, arr_hash|
6
6
  row_hash = row.headers.uniq.each_with_object({}) do |attr, hash|
7
7
  next if attr.to_s.strip.empty?
8
- value = row[attr]
9
- hash[attr.strip] = value.to_s.empty?? nil : value
8
+ hash[attr.strip] = parse_string(row[attr])
10
9
  end
11
10
  arr_hash.push(row_hash)
12
11
  end
@@ -23,4 +22,18 @@ class Eco::API::Common::People::DefaultParsers::CSVParser < Eco::API::Common::Lo
23
22
  CSV::Table.new(arr_rows).to_csv
24
23
  end
25
24
 
25
+ private
26
+
27
+ def parse_string(value)
28
+ return nil if value.to_s.empty?
29
+ return nil if null?(value)
30
+ value
31
+ end
32
+
33
+ def null?(value)
34
+ return true if !value
35
+ str = value.strip.upcase
36
+ ["NULL"].any? {|token| str == token}
37
+ end
38
+
26
39
  end
@@ -75,7 +75,7 @@ module Eco
75
75
  !parsing?
76
76
  end
77
77
 
78
- # @note `Eco::API::Common::People::EntryFactory#entries` adds this `idx`
78
+ # @note `Eco::API::Common::People::EntryFactory#entries` adds this `idx` (i.e. row number)
79
79
  # @return [Integer] the entry number in the input file
80
80
  def idx
81
81
  final_entry["idx"]
@@ -11,9 +11,11 @@ module Eco
11
11
  def set_core_with_supervisor(entry, person, people, supers_job, options)
12
12
  unless options.dig(:exclude, :core) && !person.new?
13
13
  micro.set_core(entry, person, options)
14
- micro.set_supervisor(entry.supervisor_id, person, people, options) do |unkown_id|
15
- # delay setting supervisor if does not exit
16
- supers_job.add(person) {|person| person.supervisor_id = unkown_id}
14
+ if entry.supervisor_id?
15
+ micro.set_supervisor(entry.supervisor_id, person, people, options) do |unkown_id|
16
+ # delay setting supervisor if does not exit
17
+ supers_job.add(person) {|person| person.supervisor_id = unkown_id}
18
+ end
17
19
  end
18
20
  end
19
21
  end
@@ -46,6 +46,10 @@ module Eco
46
46
  @has_tags.empty?
47
47
  end
48
48
 
49
+ # Gets all the tags of the current node tree.
50
+ # @note
51
+ # - this will include the upper level tag(s) as well
52
+ # - to get all but the upper level tag(s) use `subtags` method instead
49
53
  # @param depth [Integer] if empty, returns the list of tag nodes of that level. Otherwise the list of tag nodes of the entire subtree.
50
54
  # @return [Array<String>]
51
55
  def tags(depth: nil)
@@ -58,6 +62,19 @@ module Eco
58
62
  end
59
63
  end
60
64
 
65
+ # Gets all but the upper level tags of the current node tree.
66
+ # @return [Array<String>]
67
+ def subtags
68
+ tags - tags(depth: depth)
69
+ end
70
+
71
+ # Verifies if a tag exists in the subtree(s).
72
+ # @param key [String] tag to verify.
73
+ # @return [Boolean]
74
+ def subtag?(key)
75
+ subtags.include?(key&.upcase)
76
+ end
77
+
61
78
  # Verifies if a tag exists in the tree.
62
79
  # @param key [String] tag to verify.
63
80
  # @return [Boolean]
@@ -123,7 +123,7 @@ module Eco
123
123
  entry = queue.to_a[i]
124
124
  response = status[i]
125
125
  msg = "Error #{response.status}: #{response.body}\n"
126
- msg += "-- Failed to batch #{method} (entry #{i+1}). Person: #{person_ref(entry)}"
126
+ msg += "-- Failed to batch #{method}. Person: #{person_ref(entry)}"
127
127
  end
128
128
  msg
129
129
  end
@@ -164,7 +164,8 @@ module Eco
164
164
  private
165
165
 
166
166
  def person_ref(entry)
167
- "(id: '#{get_attr(entry, :id)}') '#{get_attr(entry, :name)}' ('#{get_attr(entry, :external_id)}': '#{get_attr(entry, :email)}')"
167
+ row_str = (row = get_row(entry)) ? "(row: #{row}) " : nil
168
+ "#{row_str}(id: '#{get_attr(entry, :id)}') '#{get_attr(entry, :name)}' ('#{get_attr(entry, :external_id)}': '#{get_attr(entry, :email)}')"
168
169
  end
169
170
 
170
171
  def get_attr(entry, attr)
@@ -175,6 +176,15 @@ module Eco
175
176
  end
176
177
  end
177
178
 
179
+ def get_row(value)
180
+ case value
181
+ when Eco::API::Common::People::PersonEntry
182
+ value.idx
183
+ when Ecoportal::API::V1::Person
184
+ get_row(value.entry)
185
+ end
186
+ end
187
+
178
188
  end
179
189
  end
180
190
  end
@@ -142,7 +142,7 @@ module Eco
142
142
  when :v1
143
143
  klass.new(external_key, host: host, logger: logger)
144
144
  when :v2
145
- klass.new(user_key: user_key, org_key: external_key, logger: logger)
145
+ klass.new(user_key: user_key, org_key: external_key, host: host, logger: logger)
146
146
  end.tap do |api|
147
147
  unless !api || log_connection?
148
148
  @logger.info("Created api#{self.version(version)} connection on '#{name}' enviro, pointing to '#{host}' in '#{mode}' mode")
@@ -1,3 +1,3 @@
1
1
  module Eco
2
- VERSION = "1.5.8"
2
+ VERSION = "1.5.13"
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: 1.5.8
4
+ version: 1.5.13
5
5
  platform: ruby
6
6
  authors:
7
7
  - Oscar Segura
@@ -116,7 +116,7 @@ dependencies:
116
116
  requirements:
117
117
  - - ">="
118
118
  - !ruby/object:Gem::Version
119
- version: 0.7.3
119
+ version: 0.7.4
120
120
  - - "<"
121
121
  - !ruby/object:Gem::Version
122
122
  version: '0.8'
@@ -126,7 +126,7 @@ dependencies:
126
126
  requirements:
127
127
  - - ">="
128
128
  - !ruby/object:Gem::Version
129
- version: 0.7.3
129
+ version: 0.7.4
130
130
  - - "<"
131
131
  - !ruby/object:Gem::Version
132
132
  version: '0.8'
@@ -136,7 +136,7 @@ dependencies:
136
136
  requirements:
137
137
  - - ">="
138
138
  - !ruby/object:Gem::Version
139
- version: 0.7.2
139
+ version: 0.7.3
140
140
  - - "<"
141
141
  - !ruby/object:Gem::Version
142
142
  version: '0.8'
@@ -146,7 +146,7 @@ dependencies:
146
146
  requirements:
147
147
  - - ">="
148
148
  - !ruby/object:Gem::Version
149
- version: 0.7.2
149
+ version: 0.7.3
150
150
  - - "<"
151
151
  - !ruby/object:Gem::Version
152
152
  version: '0.8'
@@ -474,7 +474,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
474
474
  requirements:
475
475
  - - ">="
476
476
  - !ruby/object:Gem::Version
477
- version: '0'
477
+ version: 2.4.4
478
478
  required_rubygems_version: !ruby/object:Gem::Requirement
479
479
  requirements:
480
480
  - - ">="