breaker_machines 0.17.0 → 0.18.0

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: 4116461b731bfc94e0773301a5ce27d8a118e4b8d8adf033e1b53b304f2538e5
4
- data.tar.gz: 6cf9ed874a11f2f33db5c92f13875686260b65267c933dcb1d2cc1d994264a3f
3
+ metadata.gz: b13af2a00df3d691dde7793676b7106280bfc9badf16b83e74d672c9640a7a87
4
+ data.tar.gz: 213c6d184a208b56e8233c077d3a4d53675631dcba235f047c7aa41aad5c4f22
5
5
  SHA512:
6
- metadata.gz: fb362d48c18c9706cdffc79634af898403d9cd349a4bef73da399cbe177eaab435f83a8143b33d7c420745b4f4969c682a184269b8849893123244b98b7b2eea
7
- data.tar.gz: afd84f6bc4ac312d7bc7cbbcc1c9710fdb550694e0e32c4598bf04d0658af2fe5c23a399fbdfa2801e99dbfe610c3fd44458df8b33569e948b77757bb5fd7208
6
+ metadata.gz: 4cd735ec384cd14ba9528fabe2d0e478b71ea9eaf807e11ab823f171b2876587dc48fbce228b1a225a92d2aae6c4234fa5a802ef8f174612bc49444daba35acb
7
+ data.tar.gz: 9ef430d6cf3d0b7f4a0d56283c1904d2dbcf1119d7d675dba4043ccaae622521b2247d63892a83a9da2d4cd1610f04effba6f388b35e0e5cd2fd6a3390fe8529
@@ -11,11 +11,11 @@ module BreakerMachines
11
11
  include Circuit::AsyncStateManagement
12
12
 
13
13
  # Additional async-specific methods
14
- def call_async(&block)
14
+ def call_async(&)
15
15
  require 'async' unless defined?(::Async)
16
16
 
17
17
  Async do
18
- call(&block)
18
+ call(&)
19
19
  end
20
20
  end
21
21
 
@@ -160,7 +160,7 @@ module BreakerMachines
160
160
  @config[:exceptions] = exceptions
161
161
  end
162
162
 
163
- def fiber_safe(enabled = true) # rubocop:disable Style/OptionalBooleanParameter
163
+ def fiber_safe(enabled = true)
164
164
  @config[:fiber_safe] = enabled
165
165
  end
166
166
 
@@ -39,12 +39,12 @@ module BreakerMachines
39
39
  end
40
40
  end
41
41
 
42
- def circuit(name, &block)
42
+ def circuit(name, &)
43
43
  @circuits ||= {}
44
44
 
45
45
  if block_given?
46
46
  builder = DSL::CircuitBuilder.new
47
- builder.instance_eval(&block)
47
+ builder.instance_eval(&)
48
48
  @circuits[name] = builder.config
49
49
  end
50
50
 
@@ -52,12 +52,12 @@ module BreakerMachines
52
52
  end
53
53
 
54
54
  # Define a cascading circuit breaker that can trip dependent circuits
55
- def cascade_circuit(name, &block)
55
+ def cascade_circuit(name, &)
56
56
  @circuits ||= {}
57
57
 
58
58
  if block_given?
59
59
  builder = DSL::CascadingCircuitBuilder.new
60
- builder.instance_eval(&block)
60
+ builder.instance_eval(&)
61
61
  @circuits[name] = builder.config.merge(circuit_type: :cascading)
62
62
  end
63
63
 
@@ -81,12 +81,12 @@ module BreakerMachines
81
81
  end
82
82
 
83
83
  # Define reusable circuit templates
84
- def circuit_template(name, &block)
84
+ def circuit_template(name, &)
85
85
  @circuit_templates ||= {}
86
86
 
87
87
  if block_given?
88
88
  builder = DSL::CircuitBuilder.new
89
- builder.instance_eval(&block)
89
+ builder.instance_eval(&)
90
90
  @circuit_templates[name] = builder.config
91
91
  end
92
92
 
@@ -60,7 +60,7 @@ module BreakerMachines
60
60
  end
61
61
 
62
62
  # Force open a circuit by name
63
- def force_open(name) # rubocop:disable Naming/PredicateMethod
63
+ def force_open(name)
64
64
  circuits = find_by_name(name)
65
65
  return false if circuits.empty?
66
66
 
@@ -69,7 +69,7 @@ module BreakerMachines
69
69
  end
70
70
 
71
71
  # Force close a circuit by name
72
- def force_close(name) # rubocop:disable Naming/PredicateMethod
72
+ def force_close(name)
73
73
  circuits = find_by_name(name)
74
74
  return false if circuits.empty?
75
75
 
@@ -78,7 +78,7 @@ module BreakerMachines
78
78
  end
79
79
 
80
80
  # Reset a circuit by name
81
- def reset(name) # rubocop:disable Naming/PredicateMethod
81
+ def reset(name)
82
82
  circuits = find_by_name(name)
83
83
  return false if circuits.empty?
84
84
 
@@ -80,7 +80,7 @@ module BreakerMachines
80
80
 
81
81
  private
82
82
 
83
- def execute_with_fallback(method, *args, **kwargs)
83
+ def execute_with_fallback(method, *, **kwargs)
84
84
  chain_started_at = BreakerMachines.monotonic_time
85
85
  attempted_backends = []
86
86
 
@@ -100,9 +100,9 @@ module BreakerMachines
100
100
 
101
101
  result = backend.with_timeout(config[:timeout]) do
102
102
  if kwargs.any?
103
- backend.send(method, *args, **kwargs)
103
+ backend.send(method, *, **kwargs)
104
104
  else
105
- backend.send(method, *args)
105
+ backend.send(method, *)
106
106
  end
107
107
  end
108
108
 
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module BreakerMachines
4
- VERSION = '0.17.0'
4
+ VERSION = '0.18.0'
5
5
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: breaker_machines
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.17.0
4
+ version: 0.18.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Abdelkader Boudih
@@ -29,14 +29,14 @@ dependencies:
29
29
  requirements:
30
30
  - - "~>"
31
31
  - !ruby/object:Gem::Version
32
- version: '0.2'
32
+ version: '0.9'
33
33
  type: :runtime
34
34
  prerelease: false
35
35
  version_requirements: !ruby/object:Gem::Requirement
36
36
  requirements:
37
37
  - - "~>"
38
38
  - !ruby/object:Gem::Version
39
- version: '0.2'
39
+ version: '0.9'
40
40
  - !ruby/object:Gem::Dependency
41
41
  name: concurrent-ruby
42
42
  requirement: !ruby/object:Gem::Requirement
@@ -55,16 +55,16 @@ dependencies:
55
55
  name: state_machines
56
56
  requirement: !ruby/object:Gem::Requirement
57
57
  requirements:
58
- - - ">="
58
+ - - "~>"
59
59
  - !ruby/object:Gem::Version
60
- version: 0.200.0
60
+ version: '0.202'
61
61
  type: :runtime
62
62
  prerelease: false
63
63
  version_requirements: !ruby/object:Gem::Requirement
64
64
  requirements:
65
- - - ">="
65
+ - - "~>"
66
66
  - !ruby/object:Gem::Version
67
- version: 0.200.0
67
+ version: '0.202'
68
68
  - !ruby/object:Gem::Dependency
69
69
  name: zeitwerk
70
70
  requirement: !ruby/object:Gem::Requirement
@@ -222,14 +222,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
222
222
  requirements:
223
223
  - - ">="
224
224
  - !ruby/object:Gem::Version
225
- version: 3.3.0
225
+ version: 4.0.0
226
226
  required_rubygems_version: !ruby/object:Gem::Requirement
227
227
  requirements:
228
228
  - - ">="
229
229
  - !ruby/object:Gem::Version
230
230
  version: '0'
231
231
  requirements: []
232
- rubygems_version: 3.6.9
232
+ rubygems_version: 4.0.20
233
233
  specification_version: 4
234
234
  summary: Circuit breaker implementation for Ruby with a clean DSL and state_machines
235
235
  under the hood