eco-helpers 3.0.8 → 3.0.11

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: c5f99b7ad6dad2fcd262a6269bbe2c7a2acae695b077712ce745c9f0746e2580
4
- data.tar.gz: de2217f416b703f1cc0ae06f6c42bddbebedef906013b128b5efcdc552df40af
3
+ metadata.gz: 4f49ceec7a0716f4265f77b72e06daa06b66b3b960469842249c2a8e9ce0b847
4
+ data.tar.gz: a670f98ce7d34bd6bf42e2d938341c52c892e4cc2e6104b4f3fc7b42bcdd990d
5
5
  SHA512:
6
- metadata.gz: 6149a32bf28606ac1051a127deabefd66fbab577700035f36ba01b9268438b1223423a30e399c1efaed92858586722a0dfa6d7d1a180a4ff0870c894ac730fde
7
- data.tar.gz: 1799bbf948a1725f99b567b0934c29eb53f3361db5c22c660e616e876cc857c15c85330db3d2e60df4a6d5f1c0c9697722e1ded6b114897cbe8b5a257fd06511
6
+ metadata.gz: ccccdc391fdf06e5939c406f2d04e6eafa0341d6d0747c60c08967bba1b08f60402c6e8f3058593c1a761536ce411609c3d911f34842a8b43537e832703f4a3f
7
+ data.tar.gz: 3c786c864e851a2afb874a196a4f1f93ea84530951a34714663d4e44f26ffe2422ed9485da071ddb00eca72a148c2f32bc5b6d4ce5e75340890fc48b021755d3
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
- ## [3.0.9] - 2024-08-xx
5
+ ## [3.0.12] - 2024-09-xx
6
6
 
7
7
  ### Added
8
8
 
@@ -10,6 +10,29 @@ All notable changes to this project will be documented in this file.
10
10
 
11
11
  ### Fixed
12
12
 
13
+ ## [3.0.11] - 2024-09-xx
14
+
15
+ ### Added
16
+
17
+ ### Changed
18
+
19
+ - Prevent double-up of notifications
20
+ - Prevent double log of errors
21
+
22
+ ### Fixed
23
+
24
+ ## [3.0.10] - 2024-09-05
25
+
26
+ ### Fixed
27
+
28
+ - wrong sftp error constant path
29
+
30
+ ## [3.0.9] - 2024-09-05
31
+
32
+ ### Fixed
33
+
34
+ - `Eco::API::Common::Session::SFTP#move` fixed error handling.
35
+
13
36
  ## [3.0.8] - 2024-08-30
14
37
 
15
38
  ### Added
@@ -63,11 +63,34 @@ module Eco
63
63
  # @see Net::SFTP::Session#rename
64
64
  def move(fullname_source, fullname_dest, flags = 0x0001, override: true, &callback)
65
65
  sftp_session.rename!(fullname_source, fullname_dest, flags, &callback)
66
- rescue Net::SFTP::StatusException => _err
67
- raise unless override
68
66
 
69
- sftp_session.remove(fullname_dest)
70
- sftp_session.rename!(fullname_source, fullname_dest, flags, &callback)
67
+ true
68
+ rescue Net::SFTP::StatusException => err
69
+ case err.code
70
+ when Net::SFTP::Constants::StatusCodes::FX_FILE_ALREADY_EXISTS
71
+ log(:waning) {
72
+ msg = "Remote file '#{fullname_dest}' already exists."
73
+ msg << "Overriding..." if override
74
+ }
75
+
76
+ if override
77
+ sftp_session.remove(fullname_dest)
78
+ # sftp_session.rename!(fullname_source, fullname_dest, flags, &callback)
79
+ move(fullname_source, fullname_dest, flags, override: false, &callback)
80
+ end
81
+ when Net::SFTP::Constants::StatusCodes::FX_PERMISSION_DENIED, Net::SFTP::Constants::StatusCodes::FX_WRITE_PROTECT
82
+ log(:error) {
83
+ "Not allowed to rename '#{fullname_source}' to '#{fullname_dest}'"
84
+ }
85
+ when Net::SFTP::Constants::StatusCodes::FX_NO_SUCH_FILE
86
+ log(:error) { "Remote file '#{fullname_source}' does not exist"}
87
+ when Net::SFTP::Constants::StatusCodes::FX_NO_SUCH_PATH
88
+ log(:error) { err }
89
+ else
90
+ raise
91
+ end
92
+
93
+ false
71
94
  end
72
95
 
73
96
  # Downloads the files specified to a local folder
@@ -7,6 +7,10 @@ module Eco::API::UseCases::GraphQL::Helpers::Base
7
7
 
8
8
  private
9
9
 
10
+ def exception_already_captured?(err)
11
+ err == exception
12
+ end
13
+
10
14
  def interrupted?(err = exception)
11
15
  interrupt_errors.any? {|klass| err.is_a?(klass)}
12
16
  end
@@ -19,7 +23,10 @@ module Eco::API::UseCases::GraphQL::Helpers::Base
19
23
  yield
20
24
  rescue StandardError => err
21
25
  self.exception ||= err
22
- log(:error) { err.patch_full_message }
26
+
27
+ unless exception_already_captured?(err)
28
+ log(:error) { err.patch_full_message }
29
+ end
23
30
  end
24
31
 
25
32
  def with_error_handling
@@ -91,7 +91,10 @@ class Eco::API::UseCases::GraphQL::Samples::Location
91
91
  digest_msgs = logger.cache.logs(level: %i[info error warn])
92
92
  str_exception = exception ? " - Exception!" : ''
93
93
  subject = "#{config.active_enviro} - #{title}#{str_exception}"
94
- session.mail(subject: subject, body: digest_msgs.join)
94
+
95
+ session.mail(subject: subject, body: digest_msgs.join).tap do
96
+ options.deep_merge!({worfklow: {no_email: true}})
97
+ end
95
98
  end
96
99
 
97
100
  def print_diff_details?
data/lib/eco/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module Eco
2
- VERSION = '3.0.8'.freeze
2
+ VERSION = '3.0.11'.freeze
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: eco-helpers
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.0.8
4
+ version: 3.0.11
5
5
  platform: ruby
6
6
  authors:
7
7
  - Oscar Segura
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2024-08-29 00:00:00.000000000 Z
11
+ date: 2024-09-05 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rake