exception_handler 0.8.0.0 → 0.8.0.1
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/.coveralls.yml +1 -0
- data/.gitignore +1 -0
- data/.rspec +3 -3
- data/.travis.yml +6 -0
- data/README.md +327 -326
- data/app/views/layouts/exception.html.erb +1 -1
- data/app/views/layouts/mailer.html.erb +5 -5
- data/app/views/layouts/mailer.text.erb +1 -1
- data/config/locales/exception_handler.en.yml +1 -1
- data/config/routes.rb +42 -42
- data/exception_handler.gemspec +1 -0
- data/lib/exception_handler/version.rb +1 -1
- data/spec/controllers/controller_spec.rb +107 -107
- data/spec/dummy/Rakefile +6 -6
- data/spec/dummy/app/assets/config/manifest.js +3 -3
- data/spec/dummy/app/assets/javascripts/application.js +15 -15
- data/spec/dummy/app/assets/javascripts/cable.js +13 -13
- data/spec/dummy/app/assets/stylesheets/application.css +15 -15
- data/spec/dummy/app/channels/application_cable/channel.rb +4 -4
- data/spec/dummy/app/channels/application_cable/connection.rb +4 -4
- data/spec/dummy/app/controllers/application_controller.rb +2 -2
- data/spec/dummy/app/helpers/application_helper.rb +2 -2
- data/spec/dummy/app/jobs/application_job.rb +2 -2
- data/spec/dummy/app/mailers/application_mailer.rb +4 -4
- data/spec/dummy/app/models/application_record.rb +3 -3
- data/spec/dummy/app/views/layouts/application.html.erb +15 -15
- data/spec/dummy/app/views/layouts/mailer.html.erb +13 -13
- data/spec/dummy/app/views/layouts/mailer.text.erb +1 -1
- data/spec/dummy/bin/bundle +3 -3
- data/spec/dummy/bin/rails +4 -4
- data/spec/dummy/bin/rake +4 -4
- data/spec/dummy/bin/setup +36 -36
- data/spec/dummy/bin/update +31 -31
- data/spec/dummy/bin/yarn +11 -11
- data/spec/dummy/config.ru +5 -5
- data/spec/dummy/config/application.rb +18 -18
- data/spec/dummy/config/boot.rb +5 -5
- data/spec/dummy/config/cable.yml +10 -10
- data/spec/dummy/config/database.yml +25 -25
- data/spec/dummy/config/environment.rb +5 -5
- data/spec/dummy/config/environments/development.rb +61 -61
- data/spec/dummy/config/environments/production.rb +94 -94
- data/spec/dummy/config/environments/test.rb +46 -46
- data/spec/dummy/config/initializers/application_controller_renderer.rb +8 -8
- data/spec/dummy/config/initializers/assets.rb +14 -14
- data/spec/dummy/config/initializers/backtrace_silencers.rb +7 -7
- data/spec/dummy/config/initializers/content_security_policy.rb +25 -25
- data/spec/dummy/config/initializers/cookies_serializer.rb +5 -5
- data/spec/dummy/config/initializers/filter_parameter_logging.rb +4 -4
- data/spec/dummy/config/initializers/inflections.rb +16 -16
- data/spec/dummy/config/initializers/mime_types.rb +4 -4
- data/spec/dummy/config/initializers/wrap_parameters.rb +14 -14
- data/spec/dummy/config/locales/en.yml +33 -33
- data/spec/dummy/config/puma.rb +34 -34
- data/spec/dummy/config/routes.rb +3 -3
- data/spec/dummy/config/storage.yml +34 -34
- data/spec/dummy/package.json +5 -5
- data/spec/dummy/public/404.html +67 -67
- data/spec/dummy/public/422.html +67 -67
- data/spec/dummy/public/500.html +66 -66
- data/spec/dummy/spec/rails_helper.rb +57 -57
- data/spec/features/asset_spec.rb +61 -61
- data/spec/features/config_spec.rb +51 -51
- data/spec/features/engine_spec.rb +180 -180
- data/spec/mailers/mailer_spec.rb +26 -0
- data/spec/models/model_spec.rb +26 -0
- data/spec/routing/routing_spec.rb +85 -85
- data/spec/spec_helper.rb +101 -93
- data/spec/views/views_spec.rb +29 -29
- metadata +22 -6
@@ -1,51 +1,51 @@
|
|
1
|
-
###############################################
|
2
|
-
###############################################
|
3
|
-
## _____ __ _ ##
|
4
|
-
## / __ \ / _(_) ##
|
5
|
-
## | / \/ ___ _ __ | |_ _ __ _ ##
|
6
|
-
## | | / _ \| '_ \| _| |/ _` | ##
|
7
|
-
## | \__/\ (_) | | | | | | | (_| | ##
|
8
|
-
## \____/\___/|_| |_|_| |_|\__, | ##
|
9
|
-
## __/ | ##
|
10
|
-
## |___/ ##
|
11
|
-
###############################################
|
12
|
-
###############################################
|
13
|
-
|
14
|
-
require 'spec_helper'
|
15
|
-
|
16
|
-
###############################################
|
17
|
-
###############################################
|
18
|
-
|
19
|
-
# => ExceptionHandler (Config)
|
20
|
-
# => Should explore config has been created/initialized
|
21
|
-
# => Needs to identify available options (dev/db/email/social/layouts/exceptions/custom_exceptions)
|
22
|
-
# => Needs to return specific results per option (dev = true/false, email = string etc)
|
23
|
-
RSpec.describe ExceptionHandler.config do
|
24
|
-
|
25
|
-
# => Config
|
26
|
-
let(:config) { ExceptionHandler.config }
|
27
|
-
|
28
|
-
# => Class
|
29
|
-
# => Initialized?
|
30
|
-
# => Responds to methods?
|
31
|
-
describe "class" do
|
32
|
-
subject { config }
|
33
|
-
it { should be_a ExceptionHandler::Config }
|
34
|
-
%i(dev db email social layouts exceptions custom_exceptions).each do |method|
|
35
|
-
it { should respond_to(method) }
|
36
|
-
end
|
37
|
-
end
|
38
|
-
|
39
|
-
# => Dev
|
40
|
-
# => true/false
|
41
|
-
describe "dev" do
|
42
|
-
subject { ExceptionHandler.config.dev }
|
43
|
-
#it { should be_boolean }
|
44
|
-
end
|
45
|
-
|
46
|
-
# => DB
|
47
|
-
|
48
|
-
end
|
49
|
-
|
50
|
-
###############################################
|
51
|
-
###############################################
|
1
|
+
###############################################
|
2
|
+
###############################################
|
3
|
+
## _____ __ _ ##
|
4
|
+
## / __ \ / _(_) ##
|
5
|
+
## | / \/ ___ _ __ | |_ _ __ _ ##
|
6
|
+
## | | / _ \| '_ \| _| |/ _` | ##
|
7
|
+
## | \__/\ (_) | | | | | | | (_| | ##
|
8
|
+
## \____/\___/|_| |_|_| |_|\__, | ##
|
9
|
+
## __/ | ##
|
10
|
+
## |___/ ##
|
11
|
+
###############################################
|
12
|
+
###############################################
|
13
|
+
|
14
|
+
require 'spec_helper'
|
15
|
+
|
16
|
+
###############################################
|
17
|
+
###############################################
|
18
|
+
|
19
|
+
# => ExceptionHandler (Config)
|
20
|
+
# => Should explore config has been created/initialized
|
21
|
+
# => Needs to identify available options (dev/db/email/social/layouts/exceptions/custom_exceptions)
|
22
|
+
# => Needs to return specific results per option (dev = true/false, email = string etc)
|
23
|
+
RSpec.describe ExceptionHandler.config do
|
24
|
+
|
25
|
+
# => Config
|
26
|
+
let(:config) { ExceptionHandler.config }
|
27
|
+
|
28
|
+
# => Class
|
29
|
+
# => Initialized?
|
30
|
+
# => Responds to methods?
|
31
|
+
describe "class" do
|
32
|
+
subject { config }
|
33
|
+
it { should be_a ExceptionHandler::Config }
|
34
|
+
%i(dev db email social layouts exceptions custom_exceptions).each do |method|
|
35
|
+
it { should respond_to(method) }
|
36
|
+
end
|
37
|
+
end
|
38
|
+
|
39
|
+
# => Dev
|
40
|
+
# => true/false
|
41
|
+
describe "dev" do
|
42
|
+
subject { ExceptionHandler.config.dev }
|
43
|
+
#it { should be_boolean }
|
44
|
+
end
|
45
|
+
|
46
|
+
# => DB
|
47
|
+
|
48
|
+
end
|
49
|
+
|
50
|
+
###############################################
|
51
|
+
###############################################
|
@@ -1,180 +1,180 @@
|
|
1
|
-
###############################################
|
2
|
-
###############################################
|
3
|
-
## _____ _____ ##
|
4
|
-
## | ___ \/ ___| ##
|
5
|
-
## | |_/ /\ `--. _ __ ___ ___ ##
|
6
|
-
## | / `--. \ '_ \ / _ \/ __| ##
|
7
|
-
## | |\ \ /\__/ / |_) | __/ (__ ##
|
8
|
-
## \_| \_|\____/| .__/ \___|\___| ##
|
9
|
-
## | | ##
|
10
|
-
## |_| ##
|
11
|
-
###############################################
|
12
|
-
###############################################
|
13
|
-
|
14
|
-
require 'spec_helper'
|
15
|
-
|
16
|
-
###############################################
|
17
|
-
###############################################
|
18
|
-
|
19
|
-
# => ExceptionHandler (base)
|
20
|
-
# => Test underlying engine (loading, initializers, etc)
|
21
|
-
# => Ensure that all elements are correctly integrated into Rails core
|
22
|
-
RSpec.describe ExceptionHandler::Engine do
|
23
|
-
|
24
|
-
#############################################
|
25
|
-
#############################################
|
26
|
-
|
27
|
-
# => Ensure Gem has value, loaded etc
|
28
|
-
describe "Gem" do
|
29
|
-
|
30
|
-
# => Options
|
31
|
-
let(:version) { ExceptionHandler::VERSION::STRING }
|
32
|
-
let(:engine) { ExceptionHandler::Engine }
|
33
|
-
|
34
|
-
# => Version needs to exist
|
35
|
-
# => Present Version
|
36
|
-
describe "version" do
|
37
|
-
subject { version }
|
38
|
-
it { is_expected.not_to be_empty }
|
39
|
-
it { is_expected.to eq('0.8.0.0') }
|
40
|
-
end
|
41
|
-
|
42
|
-
# => Loaded?
|
43
|
-
# => Accessible by Rails?
|
44
|
-
describe "class" do
|
45
|
-
subject { engine }
|
46
|
-
it { should be_const_defined('ExceptionHandler') }
|
47
|
-
it { }
|
48
|
-
end
|
49
|
-
|
50
|
-
end
|
51
|
-
|
52
|
-
#############################################
|
53
|
-
#############################################
|
54
|
-
|
55
|
-
# => Ensure Gem's features are loaded into Rails
|
56
|
-
describe "Setup" do
|
57
|
-
|
58
|
-
#########################
|
59
|
-
#########################
|
60
|
-
|
61
|
-
# => Options
|
62
|
-
let(:config) { ExceptionHandler.config }
|
63
|
-
let(:rails) { Rails.configuration }
|
64
|
-
|
65
|
-
# => Before
|
66
|
-
before(:context) { ExceptionHandler.config.dev = false }
|
67
|
-
|
68
|
-
#########################
|
69
|
-
#########################
|
70
|
-
|
71
|
-
# => Config
|
72
|
-
# => Exists? Accessible? Right Values?
|
73
|
-
describe "config" do
|
74
|
-
subject { config }
|
75
|
-
|
76
|
-
# => Initialized
|
77
|
-
it "has an initializer" do
|
78
|
-
expect(Rails.application.initializers.map(&:name)).to include(:exception_handler_config)
|
79
|
-
end
|
80
|
-
|
81
|
-
# => Initialization Queue
|
82
|
-
it "is initialized before better_errors" do
|
83
|
-
end
|
84
|
-
|
85
|
-
# => Accessible?
|
86
|
-
# => Can we access the instance of the class and see which items are available?
|
87
|
-
it { should be_a ExceptionHandler::Config }
|
88
|
-
it "is accessible" do
|
89
|
-
|
90
|
-
end
|
91
|
-
|
92
|
-
# => Values
|
93
|
-
# => The returned values need to be tested in the config class
|
94
|
-
it "responds to methods" do
|
95
|
-
%i(dev db email social layouts exceptions custom_exceptions).each do |method|
|
96
|
-
expect(config).to respond_to(method)
|
97
|
-
end
|
98
|
-
end
|
99
|
-
|
100
|
-
# => Basic values
|
101
|
-
it "has basic values" do
|
102
|
-
expect(config.dev).to be_boolean
|
103
|
-
end
|
104
|
-
end
|
105
|
-
|
106
|
-
#########################
|
107
|
-
#########################
|
108
|
-
|
109
|
-
# => Middleware
|
110
|
-
# => Check if it's correctly overwritten @exceptions_app
|
111
|
-
# => http://guides.rubyonrails.org/configuring.html#rails-general-configuration
|
112
|
-
describe "middleware" do
|
113
|
-
subject { rails.exceptions_app }
|
114
|
-
#it { should eq(ExceptionHandler) }
|
115
|
-
# => accessible?
|
116
|
-
end
|
117
|
-
|
118
|
-
#########################
|
119
|
-
#########################
|
120
|
-
|
121
|
-
# => Dev Mode
|
122
|
-
# => Changes "consider_all_requests_local" to opposite of config
|
123
|
-
describe "dev" do
|
124
|
-
|
125
|
-
# => Access dev mode
|
126
|
-
# => Ensure the config is present & accessible
|
127
|
-
context "config" do
|
128
|
-
subject { config.dev }
|
129
|
-
it { should_not be true }
|
130
|
-
end
|
131
|
-
|
132
|
-
# => Local Requests
|
133
|
-
# => Should be the opposite of the dev option
|
134
|
-
context "local requests" do
|
135
|
-
subject { rails.consider_all_requests_local }
|
136
|
-
it { should_not be ExceptionHandler.config.dev }
|
137
|
-
end
|
138
|
-
|
139
|
-
end
|
140
|
-
|
141
|
-
#########################
|
142
|
-
#########################
|
143
|
-
|
144
|
-
# => Custom Exceptions
|
145
|
-
# => Ensure custom exceptions added to Rails
|
146
|
-
describe "custom exceptions" do
|
147
|
-
|
148
|
-
# => Rescue Response
|
149
|
-
subject { rails.action_dispatch.rescue_responses }
|
150
|
-
|
151
|
-
# => Let
|
152
|
-
let(:config) { ExceptionHandler.config }
|
153
|
-
|
154
|
-
# => Removes
|
155
|
-
it "has an initializer" do
|
156
|
-
expect(Rails.application.initializers.map(&:name)).to include(:exception_handler_custom_exceptions)
|
157
|
-
end
|
158
|
-
|
159
|
-
# => Check if present
|
160
|
-
context "present" do
|
161
|
-
end
|
162
|
-
|
163
|
-
# => Check if can be accessed
|
164
|
-
context "accessiblity" do
|
165
|
-
before { config.custom_exceptions.merge! 'ActionController::RoutingError' => :not_found }
|
166
|
-
|
167
|
-
#it { should include config.custom_exceptions }
|
168
|
-
end
|
169
|
-
|
170
|
-
end
|
171
|
-
|
172
|
-
end
|
173
|
-
|
174
|
-
#############################################
|
175
|
-
#############################################
|
176
|
-
|
177
|
-
end
|
178
|
-
|
179
|
-
###############################################
|
180
|
-
###############################################
|
1
|
+
###############################################
|
2
|
+
###############################################
|
3
|
+
## _____ _____ ##
|
4
|
+
## | ___ \/ ___| ##
|
5
|
+
## | |_/ /\ `--. _ __ ___ ___ ##
|
6
|
+
## | / `--. \ '_ \ / _ \/ __| ##
|
7
|
+
## | |\ \ /\__/ / |_) | __/ (__ ##
|
8
|
+
## \_| \_|\____/| .__/ \___|\___| ##
|
9
|
+
## | | ##
|
10
|
+
## |_| ##
|
11
|
+
###############################################
|
12
|
+
###############################################
|
13
|
+
|
14
|
+
require 'spec_helper'
|
15
|
+
|
16
|
+
###############################################
|
17
|
+
###############################################
|
18
|
+
|
19
|
+
# => ExceptionHandler (base)
|
20
|
+
# => Test underlying engine (loading, initializers, etc)
|
21
|
+
# => Ensure that all elements are correctly integrated into Rails core
|
22
|
+
RSpec.describe ExceptionHandler::Engine do
|
23
|
+
|
24
|
+
#############################################
|
25
|
+
#############################################
|
26
|
+
|
27
|
+
# => Ensure Gem has value, loaded etc
|
28
|
+
describe "Gem" do
|
29
|
+
|
30
|
+
# => Options
|
31
|
+
let(:version) { ExceptionHandler::VERSION::STRING }
|
32
|
+
let(:engine) { ExceptionHandler::Engine }
|
33
|
+
|
34
|
+
# => Version needs to exist
|
35
|
+
# => Present Version
|
36
|
+
describe "version" do
|
37
|
+
subject { version }
|
38
|
+
it { is_expected.not_to be_empty }
|
39
|
+
it { is_expected.to eq('0.8.0.0') }
|
40
|
+
end
|
41
|
+
|
42
|
+
# => Loaded?
|
43
|
+
# => Accessible by Rails?
|
44
|
+
describe "class" do
|
45
|
+
subject { engine }
|
46
|
+
it { should be_const_defined('ExceptionHandler') }
|
47
|
+
it { }
|
48
|
+
end
|
49
|
+
|
50
|
+
end
|
51
|
+
|
52
|
+
#############################################
|
53
|
+
#############################################
|
54
|
+
|
55
|
+
# => Ensure Gem's features are loaded into Rails
|
56
|
+
describe "Setup" do
|
57
|
+
|
58
|
+
#########################
|
59
|
+
#########################
|
60
|
+
|
61
|
+
# => Options
|
62
|
+
let(:config) { ExceptionHandler.config }
|
63
|
+
let(:rails) { Rails.configuration }
|
64
|
+
|
65
|
+
# => Before
|
66
|
+
before(:context) { ExceptionHandler.config.dev = false }
|
67
|
+
|
68
|
+
#########################
|
69
|
+
#########################
|
70
|
+
|
71
|
+
# => Config
|
72
|
+
# => Exists? Accessible? Right Values?
|
73
|
+
describe "config" do
|
74
|
+
subject { config }
|
75
|
+
|
76
|
+
# => Initialized
|
77
|
+
it "has an initializer" do
|
78
|
+
expect(Rails.application.initializers.map(&:name)).to include(:exception_handler_config)
|
79
|
+
end
|
80
|
+
|
81
|
+
# => Initialization Queue
|
82
|
+
it "is initialized before better_errors" do
|
83
|
+
end
|
84
|
+
|
85
|
+
# => Accessible?
|
86
|
+
# => Can we access the instance of the class and see which items are available?
|
87
|
+
it { should be_a ExceptionHandler::Config }
|
88
|
+
it "is accessible" do
|
89
|
+
|
90
|
+
end
|
91
|
+
|
92
|
+
# => Values
|
93
|
+
# => The returned values need to be tested in the config class
|
94
|
+
it "responds to methods" do
|
95
|
+
%i(dev db email social layouts exceptions custom_exceptions).each do |method|
|
96
|
+
expect(config).to respond_to(method)
|
97
|
+
end
|
98
|
+
end
|
99
|
+
|
100
|
+
# => Basic values
|
101
|
+
it "has basic values" do
|
102
|
+
expect(config.dev).to be_boolean
|
103
|
+
end
|
104
|
+
end
|
105
|
+
|
106
|
+
#########################
|
107
|
+
#########################
|
108
|
+
|
109
|
+
# => Middleware
|
110
|
+
# => Check if it's correctly overwritten @exceptions_app
|
111
|
+
# => http://guides.rubyonrails.org/configuring.html#rails-general-configuration
|
112
|
+
describe "middleware" do
|
113
|
+
subject { rails.exceptions_app }
|
114
|
+
#it { should eq(ExceptionHandler) }
|
115
|
+
# => accessible?
|
116
|
+
end
|
117
|
+
|
118
|
+
#########################
|
119
|
+
#########################
|
120
|
+
|
121
|
+
# => Dev Mode
|
122
|
+
# => Changes "consider_all_requests_local" to opposite of config
|
123
|
+
describe "dev" do
|
124
|
+
|
125
|
+
# => Access dev mode
|
126
|
+
# => Ensure the config is present & accessible
|
127
|
+
context "config" do
|
128
|
+
subject { config.dev }
|
129
|
+
it { should_not be true }
|
130
|
+
end
|
131
|
+
|
132
|
+
# => Local Requests
|
133
|
+
# => Should be the opposite of the dev option
|
134
|
+
context "local requests" do
|
135
|
+
subject { rails.consider_all_requests_local }
|
136
|
+
it { should_not be ExceptionHandler.config.dev }
|
137
|
+
end
|
138
|
+
|
139
|
+
end
|
140
|
+
|
141
|
+
#########################
|
142
|
+
#########################
|
143
|
+
|
144
|
+
# => Custom Exceptions
|
145
|
+
# => Ensure custom exceptions added to Rails
|
146
|
+
describe "custom exceptions" do
|
147
|
+
|
148
|
+
# => Rescue Response
|
149
|
+
subject { rails.action_dispatch.rescue_responses }
|
150
|
+
|
151
|
+
# => Let
|
152
|
+
let(:config) { ExceptionHandler.config }
|
153
|
+
|
154
|
+
# => Removes
|
155
|
+
it "has an initializer" do
|
156
|
+
expect(Rails.application.initializers.map(&:name)).to include(:exception_handler_custom_exceptions)
|
157
|
+
end
|
158
|
+
|
159
|
+
# => Check if present
|
160
|
+
context "present" do
|
161
|
+
end
|
162
|
+
|
163
|
+
# => Check if can be accessed
|
164
|
+
context "accessiblity" do
|
165
|
+
before { config.custom_exceptions.merge! 'ActionController::RoutingError' => :not_found }
|
166
|
+
|
167
|
+
#it { should include config.custom_exceptions }
|
168
|
+
end
|
169
|
+
|
170
|
+
end
|
171
|
+
|
172
|
+
end
|
173
|
+
|
174
|
+
#############################################
|
175
|
+
#############################################
|
176
|
+
|
177
|
+
end
|
178
|
+
|
179
|
+
###############################################
|
180
|
+
###############################################
|