eco-helpers 3.0.8 → 3.0.11

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: 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