eco-helpers 2.0.52 → 2.0.55

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: c6424664c072321d2d1c45388fea06cfe16e8e42f4949e202be31555e8e052fa
4
- data.tar.gz: 7b18ae74a24157949fbb80b26320b31312ef91c43eb73f1384c8c964da52e79c
3
+ metadata.gz: a4e49d95179b6066cd2729e64c1db009ed77de653c45a73eaebeab2387ae3bde
4
+ data.tar.gz: 746f3e6e1f8e17be778ec1c902a71810fa46c6439ea886449f2cf5dc7223d2b4
5
5
  SHA512:
6
- metadata.gz: 6d1e57dc41b76a01bc80cf08108b4e50a456976dbe05bb33a4620cccb2ae745c76e88ce5af0c43795171ac758f6f55465835e22373a484967dd5a4f3ed57e318
7
- data.tar.gz: 901007d2346ef608b67011e6f49f560c16a5cb6f0010b16fa24441bf2cfd06a8f8aa82dfd4ba78b86e50cd0aca340047173f6e80800f56340dad668bb27f1516
6
+ metadata.gz: 88b70189433c7d4c71ea6b549e0eedbadafe9172bd8ea206d83e09f5bade447707f503e92b28f315e720e75743876f8aac480daf0ef5527d4525d17603e00bb2
7
+ data.tar.gz: d1d513c1c032101ab2aa9af5b1b41a542e99c0cb8312473c0b188698e855cdae965decda09134f01ec57123f2b518438dfe60c3a82265c2d93fdef51495ed0b3
data/CHANGELOG.md CHANGED
@@ -1,12 +1,34 @@
1
1
  # Change Log
2
2
  All notable changes to this project will be documented in this file.
3
3
 
4
- ## [2.0.52] - 2022-02-xx
4
+ ## [2.0.55] - 2022-04-xx
5
5
 
6
6
  ### Added
7
- - `Eco::API::UseCases::DefaultCases::CleanUnknownTags` include `default_tag` refresh
8
-
9
7
  ### Changed
8
+ - `Eco::API::UseCases::DefaultCases::Samples::Sftp` should move the basename to Windows compatible chars.
9
+
10
+ ### Fixed
11
+
12
+ ## [2.0.54] - 2022-04-04
13
+
14
+ ### Added
15
+ - `Eco::API::UseCases::DefaultCases::Samples::Sftp` should tell where the files went in the local.
16
+
17
+
18
+ ## [2.0.53] - 2022-04-04
19
+
20
+ ### Added
21
+ - `Eco::API::MicroCases#set_supervisor` prevent to set someone as supervisor of themselves.
22
+ - `Eco::API::UseCases::DefaultCases::Samples::Sftp` integration to modify the `source_folder`
23
+
24
+ ### Changed
25
+ - upgrade `ecoportal-api` and `ecoportal-api-v2` dependencies
26
+
27
+ ## [2.0.52] - 2022-03-04
28
+
29
+ ### Added
30
+ - `Eco::API::UseCases::DefaultCases::CleanUnknownTags` include `default_tag` refresh
31
+
10
32
  ### Fixed
11
33
  - `Eco::Data::Files::Directory#dir_files` to be returned in alphabetic order
12
34
 
data/eco-helpers.gemspec CHANGED
@@ -30,8 +30,8 @@ Gem::Specification.new do |spec|
30
30
  spec.add_development_dependency "yard", ">= 0.9.26", "< 0.10"
31
31
  spec.add_development_dependency "redcarpet", ">= 3.5.1", "< 3.6"
32
32
 
33
- spec.add_dependency 'ecoportal-api', '>= 0.8.4', '< 0.9'
34
- spec.add_dependency 'ecoportal-api-v2', '>= 0.8.25', '< 0.9'
33
+ spec.add_dependency 'ecoportal-api', '>= 0.8.5', '< 0.9'
34
+ spec.add_dependency 'ecoportal-api-v2', '>= 0.8.26', '< 0.9'
35
35
  spec.add_dependency 'aws-sdk-s3', '>= 1.83.0', '< 2'
36
36
  spec.add_dependency 'aws-sdk-ses', '>= 1.36.0', '< 2'
37
37
  spec.add_dependency 'dotenv', '>= 2.7.6', '< 2.8'
@@ -65,8 +65,11 @@ module Eco
65
65
  # @param files [String, Array<String>] full path to remote file(s) to be downloaded
66
66
  # @param local_folder [String] local destination folder (`"."` if not specified)
67
67
  def download(files, local_folder: nil)
68
+ puts "Creating local files:"
68
69
  [files].flatten.compact.map do |fullname|
69
- dest_fullname = File.join(local_folder || ".", File.basename(fullname))
70
+ basename = windows_basename(fullname)
71
+ dest_fullname = File.join(local_folder || ".", basename)
72
+ puts " • #{dest_fullname}"
70
73
  sftp_session.download(fullname, dest_fullname)
71
74
  end.each do |dw|
72
75
  # run SSH event loop while dw.active?
@@ -76,6 +79,12 @@ module Eco
76
79
 
77
80
  private
78
81
 
82
+ def windows_basename(remote_fullname)
83
+ parts = remote_fullname.split(/[\\\/]/).map {|node| node.gsub(/[<>:\\\/\|?*]/, '_')}
84
+ local_fullname = File.join(*parts)
85
+ File.basename(local_fullname)
86
+ end
87
+
79
88
  def logger
80
89
  @enviro&.logger || ::Logger.new(IO::NULL)
81
90
  end
@@ -2,6 +2,8 @@ module Eco
2
2
  module API
3
3
  class MicroCases
4
4
  # Unique access point to set the `supervisor_id` value on a person.
5
+ # @note
6
+ # - It prevents the basic cyclic supervisor case (supervisor to be supervisor of hemselves)
5
7
  # @param person [Ecoportal::API::V1::Person] the person we want to update, carrying the changes to be done.
6
8
  # @param sup_id [nil, String] the **supervisor id** we should set on the `person`.
7
9
  # @param people [Eco::API::Organization::People] _People_ involved in the current update.
@@ -10,6 +12,7 @@ module Eco
10
12
  # @yieldparam supervisor_id [String] the **unknown** `supervisor_id`.
11
13
  def set_supervisor(person, sup_id, people, options)
12
14
  unless options.dig(:exclude, :core) || options.dig(:exclude, :supervisor)
15
+ return false if sup_id && ((person.id == sup_id) || (person.external_id == sup_id))
13
16
  cur_id = person.supervisor_id
14
17
  cur_super = cur_id && with_supervisor(cur_id, people)
15
18
  micro.with_supervisor(sup_id, people) do |new_super|
@@ -2,10 +2,10 @@ class Eco::API::UseCases::DefaultCases::Samples::Sftp < Eco::API::Common::Loader
2
2
  name "sftp-sample"
3
3
  type :other
4
4
 
5
- attr_reader :session
5
+ attr_reader :session, :options
6
6
 
7
7
  def main(session, options, usecase)
8
- @session = session
8
+ @session = session; @options = options
9
9
  options[:end_get] = false
10
10
  raise "The SFTP is not configured" unless session.sftp?
11
11
  case options.dig(:sftp, :command)
@@ -50,7 +50,7 @@ class Eco::API::UseCases::DefaultCases::Samples::Sftp < Eco::API::Common::Loader
50
50
  with_remote_files.tap do |files|
51
51
  unless files.empty?
52
52
  file_names = files.map {|file| to_remote_path(file.name)}
53
- puts "Getting the following files:"
53
+ puts "Getting the following files into the local folder '#{local_folder}':"
54
54
  puts file_names
55
55
  sftp.download(file_names, local_folder: local_folder)
56
56
  end
@@ -92,7 +92,7 @@ class Eco::API::UseCases::DefaultCases::Samples::Sftp < Eco::API::Common::Loader
92
92
  end
93
93
 
94
94
  def local_folder
95
- "."
95
+ options.dig(:sftp, :local_folder) || "."
96
96
  end
97
97
 
98
98
  def remote_folder
data/lib/eco/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module Eco
2
- VERSION = "2.0.52"
2
+ VERSION = "2.0.55"
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.0.52
4
+ version: 2.0.55
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.8.4
119
+ version: 0.8.5
120
120
  - - "<"
121
121
  - !ruby/object:Gem::Version
122
122
  version: '0.9'
@@ -126,7 +126,7 @@ dependencies:
126
126
  requirements:
127
127
  - - ">="
128
128
  - !ruby/object:Gem::Version
129
- version: 0.8.4
129
+ version: 0.8.5
130
130
  - - "<"
131
131
  - !ruby/object:Gem::Version
132
132
  version: '0.9'
@@ -136,7 +136,7 @@ dependencies:
136
136
  requirements:
137
137
  - - ">="
138
138
  - !ruby/object:Gem::Version
139
- version: 0.8.25
139
+ version: 0.8.26
140
140
  - - "<"
141
141
  - !ruby/object:Gem::Version
142
142
  version: '0.9'
@@ -146,7 +146,7 @@ dependencies:
146
146
  requirements:
147
147
  - - ">="
148
148
  - !ruby/object:Gem::Version
149
- version: 0.8.25
149
+ version: 0.8.26
150
150
  - - "<"
151
151
  - !ruby/object:Gem::Version
152
152
  version: '0.9'