breaker_machines 0.1.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.
metadata ADDED
@@ -0,0 +1,167 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: breaker_machines
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.1.0
5
+ platform: ruby
6
+ authors:
7
+ - Abdelkader Boudih
8
+ bindir: exe
9
+ cert_chain: []
10
+ date: 1980-01-02 00:00:00.000000000 Z
11
+ dependencies:
12
+ - !ruby/object:Gem::Dependency
13
+ name: activesupport
14
+ requirement: !ruby/object:Gem::Requirement
15
+ requirements:
16
+ - - ">="
17
+ - !ruby/object:Gem::Version
18
+ version: '8.0'
19
+ type: :runtime
20
+ prerelease: false
21
+ version_requirements: !ruby/object:Gem::Requirement
22
+ requirements:
23
+ - - ">="
24
+ - !ruby/object:Gem::Version
25
+ version: '8.0'
26
+ - !ruby/object:Gem::Dependency
27
+ name: concurrent-ruby
28
+ requirement: !ruby/object:Gem::Requirement
29
+ requirements:
30
+ - - "~>"
31
+ - !ruby/object:Gem::Version
32
+ version: '1.3'
33
+ type: :runtime
34
+ prerelease: false
35
+ version_requirements: !ruby/object:Gem::Requirement
36
+ requirements:
37
+ - - "~>"
38
+ - !ruby/object:Gem::Version
39
+ version: '1.3'
40
+ - !ruby/object:Gem::Dependency
41
+ name: state_machines
42
+ requirement: !ruby/object:Gem::Requirement
43
+ requirements:
44
+ - - ">="
45
+ - !ruby/object:Gem::Version
46
+ version: 0.31.0
47
+ type: :runtime
48
+ prerelease: false
49
+ version_requirements: !ruby/object:Gem::Requirement
50
+ requirements:
51
+ - - ">="
52
+ - !ruby/object:Gem::Version
53
+ version: 0.31.0
54
+ - !ruby/object:Gem::Dependency
55
+ name: zeitwerk
56
+ requirement: !ruby/object:Gem::Requirement
57
+ requirements:
58
+ - - "~>"
59
+ - !ruby/object:Gem::Version
60
+ version: '2.7'
61
+ type: :runtime
62
+ prerelease: false
63
+ version_requirements: !ruby/object:Gem::Requirement
64
+ requirements:
65
+ - - "~>"
66
+ - !ruby/object:Gem::Version
67
+ version: '2.7'
68
+ - !ruby/object:Gem::Dependency
69
+ name: minitest
70
+ requirement: !ruby/object:Gem::Requirement
71
+ requirements:
72
+ - - "~>"
73
+ - !ruby/object:Gem::Version
74
+ version: '5.16'
75
+ type: :development
76
+ prerelease: false
77
+ version_requirements: !ruby/object:Gem::Requirement
78
+ requirements:
79
+ - - "~>"
80
+ - !ruby/object:Gem::Version
81
+ version: '5.16'
82
+ - !ruby/object:Gem::Dependency
83
+ name: rake
84
+ requirement: !ruby/object:Gem::Requirement
85
+ requirements:
86
+ - - "~>"
87
+ - !ruby/object:Gem::Version
88
+ version: '13.0'
89
+ type: :development
90
+ prerelease: false
91
+ version_requirements: !ruby/object:Gem::Requirement
92
+ requirements:
93
+ - - "~>"
94
+ - !ruby/object:Gem::Version
95
+ version: '13.0'
96
+ description: |
97
+ BreakerMachines is a production-ready circuit breaker implementation for Ruby that prevents
98
+ cascade failures in distributed systems. Built on the battle-tested state_machines gem, it
99
+ provides a clean DSL, thread-safe operations, multiple storage backends, and comprehensive
100
+ introspection tools. Unlike other solutions, BreakerMachines prioritizes safety by avoiding
101
+ dangerous forceful timeouts while supporting fallback chains, jitter, and event callbacks.
102
+ email:
103
+ - terminale@gmail.com
104
+ executables: []
105
+ extensions: []
106
+ extra_rdoc_files: []
107
+ files:
108
+ - LICENSE.txt
109
+ - README.md
110
+ - lib/breaker_machines.rb
111
+ - lib/breaker_machines/circuit.rb
112
+ - lib/breaker_machines/circuit/callbacks.rb
113
+ - lib/breaker_machines/circuit/configuration.rb
114
+ - lib/breaker_machines/circuit/execution.rb
115
+ - lib/breaker_machines/circuit/introspection.rb
116
+ - lib/breaker_machines/circuit/state_management.rb
117
+ - lib/breaker_machines/console.rb
118
+ - lib/breaker_machines/dsl.rb
119
+ - lib/breaker_machines/errors.rb
120
+ - lib/breaker_machines/registry.rb
121
+ - lib/breaker_machines/storage.rb
122
+ - lib/breaker_machines/storage/base.rb
123
+ - lib/breaker_machines/storage/bucket_memory.rb
124
+ - lib/breaker_machines/storage/memory.rb
125
+ - lib/breaker_machines/storage/null.rb
126
+ - lib/breaker_machines/version.rb
127
+ - sig/README.md
128
+ - sig/all.rbs
129
+ - sig/breaker_machines.rbs
130
+ - sig/breaker_machines/circuit.rbs
131
+ - sig/breaker_machines/console.rbs
132
+ - sig/breaker_machines/dsl.rbs
133
+ - sig/breaker_machines/errors.rbs
134
+ - sig/breaker_machines/interfaces.rbs
135
+ - sig/breaker_machines/registry.rbs
136
+ - sig/breaker_machines/storage.rbs
137
+ - sig/breaker_machines/types.rbs
138
+ - sig/manifest.yaml
139
+ homepage: https://github.com/seuros/breaker_machines
140
+ licenses:
141
+ - MIT
142
+ metadata:
143
+ allowed_push_host: https://rubygems.org
144
+ homepage_uri: https://github.com/seuros/breaker_machines
145
+ source_code_uri: https://github.com/seuros/breaker_machines
146
+ bug_tracker_uri: https://github.com/seuros/breaker_machines/issues
147
+ documentation_uri: https://github.com/seuros/breaker_machines#readme
148
+ rubygems_mfa_required: 'true'
149
+ rdoc_options: []
150
+ require_paths:
151
+ - lib
152
+ required_ruby_version: !ruby/object:Gem::Requirement
153
+ requirements:
154
+ - - ">="
155
+ - !ruby/object:Gem::Version
156
+ version: 3.2.0
157
+ required_rubygems_version: !ruby/object:Gem::Requirement
158
+ requirements:
159
+ - - ">="
160
+ - !ruby/object:Gem::Version
161
+ version: '0'
162
+ requirements: []
163
+ rubygems_version: 3.6.9
164
+ specification_version: 4
165
+ summary: Circuit breaker implementation for Ruby with a clean DSL and state_machines
166
+ under the hood
167
+ test_files: []