openstax_rescue_from 4.2.1 → 4.3.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 +4 -4
- data/README.md +0 -13
- data/lib/openstax/rescue_from/logger.rb +0 -1
- data/lib/openstax/rescue_from/version.rb +1 -1
- data/lib/openstax/rescue_from.rb +6 -13
- 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: 7811c87dc161137cbab9aba396a25048b86ffd57972bf598459be4d0716c3afc
|
4
|
+
data.tar.gz: 323f38b60624ab56040a79df5e7b826367269f59f5c9bef5b468833407991f9c
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: ac77b65135b03d1c70bc8a8f3c4b2b461575649e0dc0fb8dbb4fd52e10be973deaa3fb47ab43f021855b407cc2320392292b103032ad7b3fbb7424142943219e
|
7
|
+
data.tar.gz: d86e42d01992770066292d4258c568ad2dbaab5169ce567fa7899d84cca71973831b2995fc5add50853e4831c15cc5b4255cf076737d64652055ef07c068111c
|
data/README.md
CHANGED
@@ -62,19 +62,6 @@ OpenStax::RescueFrom.register_exception(SecurityTransgression, status: 403,
|
|
62
62
|
|
63
63
|
OpenStax::RescueFrom.register_exception('ActiveRecord::RecordNotFound', notify: false,
|
64
64
|
status: 404)
|
65
|
-
|
66
|
-
# Use OpenStax::RescueFrom.register_unrecognized_exception(exception_constant_or_string, options = {})
|
67
|
-
# to register ONLY unrecognized exceptions, to avoid accidental overwriting of options
|
68
|
-
|
69
|
-
OpenStax::RescueFrom.register_unrecognized_exception(SecurityTransgression)
|
70
|
-
|
71
|
-
# when used with example above, the above example's options will prevail
|
72
|
-
|
73
|
-
# Default options:
|
74
|
-
#
|
75
|
-
# { notify: true,
|
76
|
-
# status: :internal_server_error,
|
77
|
-
# extras: ->(exception) { {} } }
|
78
65
|
```
|
79
66
|
|
80
67
|
**Note:** If you want to define `extras`, you **must** use a function that accepts `exception` as its argument
|
@@ -19,7 +19,6 @@ module OpenStax
|
|
19
19
|
private
|
20
20
|
def record_system_error_recursively!
|
21
21
|
if exception_proxy.cause
|
22
|
-
RescueFrom.register_exception(exception_proxy.cause.class)
|
23
22
|
@exception_proxy = ExceptionCauseProxy.new(exception_proxy.cause)
|
24
23
|
record_system_error!("Exception cause")
|
25
24
|
end
|
data/lib/openstax/rescue_from.rb
CHANGED
@@ -9,7 +9,6 @@ module OpenStax
|
|
9
9
|
class << self
|
10
10
|
def perform_rescue(exception, listener = MuteListener.new)
|
11
11
|
proxy = ExceptionProxy.new(exception)
|
12
|
-
register_unrecognized_exception(proxy.name)
|
13
12
|
log_system_error(proxy)
|
14
13
|
send_notifying_exceptions(proxy, listener)
|
15
14
|
finish_exception_rescue(proxy, listener)
|
@@ -17,7 +16,6 @@ module OpenStax
|
|
17
16
|
|
18
17
|
def perform_background_rescue(exception, listener = MuteListener.new)
|
19
18
|
proxy = ExceptionProxy.new(exception)
|
20
|
-
register_unrecognized_exception(proxy.name)
|
21
19
|
log_background_system_error(proxy)
|
22
20
|
send_notifying_background_exceptions(proxy)
|
23
21
|
finish_background_exception_rescue(proxy, listener)
|
@@ -44,12 +42,6 @@ module OpenStax
|
|
44
42
|
@@registered_exceptions[name] = options
|
45
43
|
end
|
46
44
|
|
47
|
-
def register_unrecognized_exception(exception_class, options = {})
|
48
|
-
unless registered_exceptions.keys.include?(exception_class)
|
49
|
-
register_exception(exception_class, options)
|
50
|
-
end
|
51
|
-
end
|
52
|
-
|
53
45
|
# For rescuing from specific blocks of code: OpenStax::RescueFrom.this {...}
|
54
46
|
def this(background = true)
|
55
47
|
begin
|
@@ -84,15 +76,15 @@ module OpenStax
|
|
84
76
|
end
|
85
77
|
|
86
78
|
def notifies_for?(exception_name)
|
87
|
-
|
79
|
+
options_for(exception_name).notify?
|
88
80
|
end
|
89
81
|
|
90
82
|
def status(exception_name)
|
91
|
-
|
83
|
+
options_for(exception_name).status_code
|
92
84
|
end
|
93
85
|
|
94
86
|
def sorry(exception_name)
|
95
|
-
|
87
|
+
options_for(exception_name).sorry
|
96
88
|
end
|
97
89
|
|
98
90
|
def http_code(status)
|
@@ -100,7 +92,7 @@ module OpenStax
|
|
100
92
|
end
|
101
93
|
|
102
94
|
def extras_proc(exception_name)
|
103
|
-
|
95
|
+
options_for(exception_name).extras
|
104
96
|
end
|
105
97
|
|
106
98
|
def generate_id
|
@@ -116,8 +108,9 @@ module OpenStax
|
|
116
108
|
end
|
117
109
|
|
118
110
|
private
|
111
|
+
|
119
112
|
def options_for(name)
|
120
|
-
@@registered_exceptions[name]
|
113
|
+
@@registered_exceptions[name] || ExceptionOptions.new
|
121
114
|
end
|
122
115
|
|
123
116
|
def friendly_status_messages
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: openstax_rescue_from
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 4.
|
4
|
+
version: 4.3.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- JP Slavinsky
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2024-10-
|
12
|
+
date: 2024-10-24 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: rails
|