network_resiliency 0.7.0 → 0.7.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +3 -0
- data/Gemfile.lock +6 -6
- data/lib/network_resiliency/version.rb +1 -1
- data/lib/network_resiliency.rb +14 -6
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: e8e570cbf267a9b9469004a731f7ea7379db90cee1b42fb15e18aae35d92d561
|
4
|
+
data.tar.gz: dc6e164d063b4266ca4ba36dd5ef8da210119c51058386eac7d997e38c6733bd
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 3235234a8290a169e922f4b0531ee2d00dc398ad15d3c1a97fb7f2c1ffb79aa4f4c69d492e019e540fa005daaf08149b862ee26f156af34b014bbf0cf20c7c9c
|
7
|
+
data.tar.gz: 4f85c6de88904ab51fb4cf1804b3f3ec9b20441779e8e282baebc5eadb232d3c770b6f9a0f1f91d78afcb1256648dfa678803c46337b46049cf4b7b42b7267fb
|
data/CHANGELOG.md
CHANGED
data/Gemfile.lock
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
PATH
|
2
2
|
remote: .
|
3
3
|
specs:
|
4
|
-
network_resiliency (0.7.
|
4
|
+
network_resiliency (0.7.1)
|
5
5
|
|
6
6
|
GEM
|
7
7
|
remote: https://rubygems.org/
|
@@ -87,16 +87,16 @@ GEM
|
|
87
87
|
concurrent-ruby (1.2.2)
|
88
88
|
connection_pool (2.4.1)
|
89
89
|
crass (1.0.6)
|
90
|
-
datadog-ci (0.
|
90
|
+
datadog-ci (0.5.1)
|
91
91
|
msgpack
|
92
92
|
date (3.3.4)
|
93
|
-
ddtrace (1.
|
94
|
-
datadog-ci (~> 0.
|
95
|
-
debase-ruby_core_source (= 3.2.
|
93
|
+
ddtrace (1.18.0)
|
94
|
+
datadog-ci (~> 0.5.0)
|
95
|
+
debase-ruby_core_source (= 3.2.3)
|
96
96
|
libdatadog (~> 5.0.0.1.0)
|
97
97
|
libddwaf (~> 1.14.0.0.0)
|
98
98
|
msgpack
|
99
|
-
debase-ruby_core_source (3.2.
|
99
|
+
debase-ruby_core_source (3.2.3)
|
100
100
|
diff-lcs (1.5.0)
|
101
101
|
docile (1.4.0)
|
102
102
|
dogstatsd-ruby (4.8.3)
|
data/lib/network_resiliency.rb
CHANGED
@@ -66,8 +66,7 @@ module NetworkResiliency
|
|
66
66
|
|
67
67
|
if @enabled.is_a?(Proc)
|
68
68
|
# prevent recursive calls
|
69
|
-
|
70
|
-
disable! { !!enabled.call(adapter) }
|
69
|
+
disable! { !!@enabled.call(adapter) }
|
71
70
|
else
|
72
71
|
@enabled
|
73
72
|
end
|
@@ -84,7 +83,6 @@ module NetworkResiliency
|
|
84
83
|
end
|
85
84
|
|
86
85
|
def enable!
|
87
|
-
original = @enabled
|
88
86
|
thread_state["enabled"] = true
|
89
87
|
|
90
88
|
yield if block_given?
|
@@ -93,7 +91,6 @@ module NetworkResiliency
|
|
93
91
|
end
|
94
92
|
|
95
93
|
def disable!
|
96
|
-
original = @enabled
|
97
94
|
thread_state["enabled"] = false
|
98
95
|
|
99
96
|
yield if block_given?
|
@@ -111,8 +108,11 @@ module NetworkResiliency
|
|
111
108
|
raise ArgumentError, "invalid NetworkResiliency action: #{action}"
|
112
109
|
end
|
113
110
|
|
111
|
+
return thread_state[:mode] if thread_state.key?(:mode)
|
112
|
+
|
114
113
|
mode = if @mode.is_a?(Proc)
|
115
|
-
|
114
|
+
# prevent recursion
|
115
|
+
observe! { @mode.call(action) }
|
116
116
|
elsif @mode
|
117
117
|
@mode[action]
|
118
118
|
end || :observe
|
@@ -164,7 +164,15 @@ module NetworkResiliency
|
|
164
164
|
ACTIONS.each { |action| @mode[action] = mode }
|
165
165
|
end
|
166
166
|
|
167
|
-
@mode.freeze
|
167
|
+
@mode.freeze if @mode.is_a?(Hash)
|
168
|
+
end
|
169
|
+
|
170
|
+
def observe!
|
171
|
+
thread_state[:mode] = :observe
|
172
|
+
|
173
|
+
yield if block_given?
|
174
|
+
ensure
|
175
|
+
thread_state.delete(:mode) if block_given?
|
168
176
|
end
|
169
177
|
|
170
178
|
def deadline
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: network_resiliency
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.7.
|
4
|
+
version: 0.7.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Daniel Pepper
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2023-12-
|
11
|
+
date: 2023-12-12 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: byebug
|