retry_once 0.0.1 → 0.0.2
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/retry_once.rb +9 -8
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 18ace67a5d8f93185775b99511ffbd774c54b352
|
4
|
+
data.tar.gz: beb5d37e5f06679495808829d785d81ef28d7a78
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: e4d2a7acf28fb10f9a019d6771478e29c033983bd8b74c537b378705c9e1ad50210b75179ec4b17784240d8ce1d8ab5517add0d2dd7b3d4cbda7ad07895c56b2
|
7
|
+
data.tar.gz: 991948e545a36aa018c029fafddd2fff951382b7d8b4f1e9d9f9837ad221d29d26eeb801fcfe66cb61260bb14e7851d7f7189eb1853e55d80cc18ff161d892c9
|
data/lib/retry_once.rb
CHANGED
@@ -1,15 +1,16 @@
|
|
1
1
|
module Kernel
|
2
|
-
def
|
2
|
+
def retry_exception_once_with(__exception, __proc_or_symbol, __retried=false, &__body)
|
3
3
|
begin
|
4
|
-
|
5
|
-
rescue
|
6
|
-
if
|
7
|
-
|
8
|
-
|
4
|
+
__body.call
|
5
|
+
rescue *(Array(__exception))
|
6
|
+
raise if __retried
|
7
|
+
if not __retried
|
8
|
+
if Symbol === __proc_or_symbol
|
9
|
+
send(f)
|
9
10
|
else
|
10
|
-
|
11
|
+
__proc_or_symbol.call
|
11
12
|
end
|
12
|
-
|
13
|
+
retry_exception_once_with(__exception, __proc_or_symbol, true, &__body)
|
13
14
|
end
|
14
15
|
end
|
15
16
|
end
|