openstax_rescue_from 1.2.0 → 1.3.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +8 -8
- data/README.md +8 -2
- data/app/views/errors/any.html.erb +2 -2
- data/lib/generators/open_stax/rescue_from/install/templates/rescue_from.rb +2 -2
- data/lib/openstax/rescue_from/configuration.rb +7 -1
- data/lib/openstax/rescue_from/controller.rb +4 -2
- data/lib/openstax/rescue_from/mute_listener.rb +1 -1
- data/lib/openstax/rescue_from/version.rb +1 -1
- data/lib/openstax/rescue_from.rb +8 -6
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,15 +1,15 @@
|
|
1
1
|
---
|
2
2
|
!binary "U0hBMQ==":
|
3
3
|
metadata.gz: !binary |-
|
4
|
-
|
4
|
+
ZjY0Mjk0YjIwNjgwNjE4ZDQ5MTFhNDdmNzIwNGRkNzc5MDFlOWRlMw==
|
5
5
|
data.tar.gz: !binary |-
|
6
|
-
|
6
|
+
NzJlZDRmNjMwNjdmMzUwMzgyNTIwMGYzN2NmNWZhZTM1Njg5MjU4Nw==
|
7
7
|
SHA512:
|
8
8
|
metadata.gz: !binary |-
|
9
|
-
|
10
|
-
|
11
|
-
|
9
|
+
NDBmMTJiOTg1ZGQwODhjZTM4NWZjY2ZhMTNhMTc2MGYzODdkZGRmZWRlMGYy
|
10
|
+
MmNmMTA1M2VmMTcyNjE0NGIzNzZlN2UxNzhmM2QyMzhlODY3MWY2ZDg3OGU4
|
11
|
+
OGRiZWU1MDRhY2I0NGQ0Mjc5NDk5ZGE5MTZkMGNhMzk5YzNiMjg=
|
12
12
|
data.tar.gz: !binary |-
|
13
|
-
|
14
|
-
|
15
|
-
|
13
|
+
YzczZDMwZGVhN2I1ODg1NGY0NGY3ODg0ZmMxMzgxNDgwODliMzFlMTAyNzk1
|
14
|
+
YzZmYjQ5MGVhY2Q3MmJmYzhiNjhmNjIzYmZjNWIyYzA3NjZlNDAzOWU4OWIw
|
15
|
+
N2Y1MGZhZDNiMDY3MGUxYjhhNWIzYmI3MzkwZTJlM2Q5M2JhYzI=
|
data/README.md
CHANGED
@@ -44,7 +44,7 @@ class ApplicationController < ActionController::Base
|
|
44
44
|
# Override the rescued hook which is called when configuration.raise_exceptions is false
|
45
45
|
# (See 'Controller hook')
|
46
46
|
#
|
47
|
-
# def openstax_exception_rescued(exception_proxy)
|
47
|
+
# def openstax_exception_rescued(exception_proxy, did_notify)
|
48
48
|
# app_name = openstax_rescue_config.app_name
|
49
49
|
# # RescueFrom.configuration private method available to you
|
50
50
|
#
|
@@ -136,8 +136,14 @@ OpenStax::RescueFrom.translate_status_codes({
|
|
136
136
|
#
|
137
137
|
# -- check your OpenStax::RescueFrom.configuration.raise_exceptions setting --
|
138
138
|
#
|
139
|
+
# Params:
|
140
|
+
# exception_proxy - an OpenStax::RescueFrom::ExceptionProxy wrapper around
|
141
|
+
# the exception
|
142
|
+
# did_notify - true iff the exception was sent out to notification channels
|
143
|
+
# such as email or the log file
|
144
|
+
#
|
139
145
|
|
140
|
-
def openstax_exception_rescued(exception_proxy)
|
146
|
+
def openstax_exception_rescued(exception_proxy, did_notify)
|
141
147
|
@message = exception_proxy.friendly_message
|
142
148
|
@status = exception_proxy.status
|
143
149
|
@error_id = exception_proxy.error_id
|
@@ -1,4 +1,4 @@
|
|
1
|
-
<h3><%= @message %></h3>
|
1
|
+
<h3 class='rescue-from'><%= @message %></h3>
|
2
2
|
|
3
|
-
<p>We're sorry this <%= @code %> error occurred. If you need help, please contact <%= openstax_rescue_from_contact_info %><%= " and reference error #{@error_id}" if @error_id %>.</p>
|
3
|
+
<p class='rescue-from'>We're sorry this <%= @code %> error occurred. If you need help, please contact <%= openstax_rescue_from_contact_info %><%= " and reference error #{@error_id}" if @error_id && @did_notify %>.</p>
|
4
4
|
|
@@ -49,7 +49,7 @@ end
|
|
49
49
|
#
|
50
50
|
# Default:
|
51
51
|
# - internal_server_error: "Sorry, #{OpenStax::RescueFrom.configuration.app_name} had some unexpected trouble with your request."
|
52
|
-
# - not_found: '
|
52
|
+
# - not_found: 'We could not find the requested information.',
|
53
53
|
# - bad_request: 'The request was unrecognized.',
|
54
54
|
# - forbidden: 'You are not allowed to do that.'
|
55
|
-
# - unprocessable_entity: '
|
55
|
+
# - unprocessable_entity: 'Your browser asked for something that we cannot do.'
|
@@ -5,9 +5,15 @@ module OpenStax
|
|
5
5
|
class Configuration
|
6
6
|
|
7
7
|
attr_accessor :raise_exceptions, :notifier, :html_error_template_path,
|
8
|
-
:html_error_template_layout_name, :app_name, :app_env,
|
8
|
+
:html_error_template_layout_name, :app_name, :app_env,
|
9
9
|
:email_prefix, :sender_address, :exception_recipients
|
10
10
|
|
11
|
+
attr_writer :contact_name
|
12
|
+
|
13
|
+
def contact_name
|
14
|
+
@contact_name || "us"
|
15
|
+
end
|
16
|
+
|
11
17
|
def initialize
|
12
18
|
@raise_exceptions = ![false, 'false'].include?(ENV['RAISE_EXCEPTIONS'])
|
13
19
|
|
@@ -13,17 +13,19 @@ module OpenStax
|
|
13
13
|
end
|
14
14
|
end
|
15
15
|
|
16
|
-
def openstax_exception_rescued(proxy)
|
16
|
+
def openstax_exception_rescued(proxy, did_notify)
|
17
17
|
@message = proxy.friendly_message
|
18
18
|
@code = proxy.status_code
|
19
19
|
@error_id = proxy.error_id
|
20
|
+
@did_notify = did_notify
|
20
21
|
|
21
22
|
respond_to do |f|
|
22
23
|
f.html { render template: openstax_rescue_config.html_error_template_path,
|
23
24
|
layout: openstax_rescue_config.html_error_template_layout_name,
|
24
25
|
status: proxy.status }
|
25
26
|
|
26
|
-
f.json { render json: { error_id: proxy.error_id
|
27
|
+
f.json { render json: { error_id: did_notify ? proxy.error_id : nil },
|
28
|
+
status: proxy.status }
|
27
29
|
|
28
30
|
f.all { render nothing: true, status: proxy.status }
|
29
31
|
end
|
data/lib/openstax/rescue_from.rb
CHANGED
@@ -62,7 +62,7 @@ module OpenStax
|
|
62
62
|
end
|
63
63
|
|
64
64
|
def generate_id
|
65
|
-
"%06d#{SecureRandom.random_number(10**6)}"
|
65
|
+
sprintf "%06d", "#{SecureRandom.random_number(10**6)}"
|
66
66
|
end
|
67
67
|
|
68
68
|
def configure
|
@@ -77,10 +77,10 @@ module OpenStax
|
|
77
77
|
def friendly_status_messages
|
78
78
|
@@friendly_status_messages ||= {
|
79
79
|
internal_server_error: default_friendly_message,
|
80
|
-
:not_found => '
|
80
|
+
:not_found => 'We could not find the requested information.',
|
81
81
|
bad_request: 'The request was unrecognized.',
|
82
82
|
forbidden: 'You are not allowed to do that.',
|
83
|
-
unprocessable_entity: '
|
83
|
+
unprocessable_entity: 'Your browser asked for something that we cannot do.'
|
84
84
|
}
|
85
85
|
end
|
86
86
|
|
@@ -93,8 +93,10 @@ module OpenStax
|
|
93
93
|
end
|
94
94
|
|
95
95
|
def log_system_error(proxy)
|
96
|
-
|
97
|
-
|
96
|
+
if notifies_for?(proxy.name)
|
97
|
+
logger = Logger.new(proxy)
|
98
|
+
logger.record_system_error!
|
99
|
+
end
|
98
100
|
end
|
99
101
|
|
100
102
|
def send_notifying_exceptions(proxy, listener)
|
@@ -120,7 +122,7 @@ module OpenStax
|
|
120
122
|
if configuration.raise_exceptions
|
121
123
|
raise proxy.exception
|
122
124
|
else
|
123
|
-
listener.openstax_exception_rescued(proxy)
|
125
|
+
listener.openstax_exception_rescued(proxy, notifies_for?(proxy.name))
|
124
126
|
end
|
125
127
|
end
|
126
128
|
end
|
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: 1.
|
4
|
+
version: 1.3.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- JP Slavinsky
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: exe
|
11
11
|
cert_chain: []
|
12
|
-
date: 2015-10-
|
12
|
+
date: 2015-10-07 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: rails
|