evt-retry 1.0.0.3 → 2.2.0.0

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: a0bf81be4f5051ce164a121ffc0830aecac9b904b64577d47cb22aec99e5b4f8
4
- data.tar.gz: ea5ab6fbab82ae872213725a4439077e63d3b3d759e4c0190d8d3b1561cd482d
3
+ metadata.gz: a9e55c0a3e613ee773aa11308008d44b182b0a4036d1b3902e507dcdb049f842
4
+ data.tar.gz: 3bbd893c7332205a1a7fa9efa8958a0465e8cd7926be9a1b49e32eef38b90476
5
5
  SHA512:
6
- metadata.gz: 4e6a40c6bf9fb292da8c6cb6a01cfb82f28d028f4b2ff15d4c66baac465faa1dc6dc103381fc97d37cfc1679c7d4bbc69a7f08b8314d1356446f97ab51af616d
7
- data.tar.gz: a194cf331d4ea766034ed66cd085a862a0c93df14543817d611c71d2591ec7cc03ead3dca03e080abd2d2876744952d499e60341b4df7554bb7e40698f56888c
6
+ metadata.gz: 95bcd92c30f286d6cb70957362959b8c9b1d275eb568f4b49fd328439e3aa383946c530302824c88337c6abaf3133db4037b099efbc18997a503f542b4140b0f
7
+ data.tar.gz: c0733af7387be532006201621ed946fa7300c4586c37bbaea5f251b4b253911e03ee3c9d8d252d363aa0eecf173919576d1d7a3e870b7d8e840969ebc982b330
data/lib/retry/retry.rb CHANGED
@@ -13,7 +13,7 @@ class Retry
13
13
  attr_writer :action_executed
14
14
 
15
15
  def self.build
16
- instance = new
16
+ new
17
17
  end
18
18
 
19
19
  def self.configure(receiver, attr_name: nil)
@@ -40,11 +40,12 @@ class Retry
40
40
 
41
41
  error = nil
42
42
  probe = proc { |e| error = e }
43
+ result = nil
43
44
 
44
45
  loop do
45
46
  success = Try.(errors, error_probe: probe) do
46
47
  logger.debug { "Attempting (Cycle: #{cycle})" }
47
- action.call(cycle)
48
+ result = action.call(cycle)
48
49
  end
49
50
 
50
51
  action_executed&.call(cycle)
@@ -61,7 +62,7 @@ class Retry
61
62
  end
62
63
 
63
64
  logger.debug { "Attempt failed (Cycle: #{cycle}, Error: #{error.class.name})" }
64
- telemetry.record :failed, Retry::Telemetry::Data::Failed.new(cycle, error.class, interval)
65
+ telemetry.record :failed, Retry::Telemetry::Data::Failed.new(cycle, error, interval)
65
66
 
66
67
  if interval.nil?
67
68
  logger.debug { 'No more attempts. Intervals depleted.' }
@@ -79,6 +80,6 @@ class Retry
79
80
  raise error
80
81
  end
81
82
 
82
- cycle
83
+ result
83
84
  end
84
85
  end
@@ -8,7 +8,12 @@ class Retry
8
8
  end
9
9
 
10
10
  module Data
11
- Failed = Struct.new :cycle, :error, :millisecond_interval
11
+ Failed = Struct.new :cycle, :error, :millisecond_interval do
12
+ def error_class
13
+ error.class
14
+ end
15
+ end
16
+
12
17
  Succeeded = Struct.new :cycle
13
18
  end
14
19
 
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: evt-retry
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.0.3
4
+ version: 2.2.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - The Eventide Project
8
- autorequire:
8
+ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2019-02-05 00:00:00.000000000 Z
11
+ date: 2022-04-15 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: evt-try
@@ -114,7 +114,7 @@ homepage: https://github.com/eventide-project/retry
114
114
  licenses:
115
115
  - MIT
116
116
  metadata: {}
117
- post_install_message:
117
+ post_install_message:
118
118
  rdoc_options: []
119
119
  require_paths:
120
120
  - lib
@@ -129,9 +129,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
129
129
  - !ruby/object:Gem::Version
130
130
  version: '0'
131
131
  requirements: []
132
- rubyforge_project:
133
- rubygems_version: 2.7.3
134
- signing_key:
132
+ rubygems_version: 3.3.3
133
+ signing_key:
135
134
  specification_version: 4
136
135
  summary: Retry an execution that terminates with an error, with optional backoff cycles
137
136
  test_files: []