Skip to content

Commit 2ad4bf0

Browse files
committed
use autoload
1 parent 7eb207a commit 2ad4bf0

File tree

3 files changed

+17
-7
lines changed

3 files changed

+17
-7
lines changed

lib/restful_error.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,11 @@
11
# frozen_string_literal: true
22

33
require "rack/utils"
4-
require "restful_error/railtie" if defined? ActionController
54
require "restful_error/status"
65
require "restful_error/version"
76

87
module RestfulError
8+
autoload :ExceptionsApp, "restful_error/exceptions_app"
99
module Helper
1010
def restful
1111
@restful ||= begin
Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,5 @@ def show
2121
end
2222
end
2323

24-
def self.exceptions_app
25-
ExceptionsController.action(:show)
26-
end
24+
ExceptionsApp = ExceptionsController.action(:show)
2725
end

spec/with_rails/exceptions_app_spec.rb

Lines changed: 15 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,12 +3,15 @@
33
require "action_controller"
44
require "i18n"
55
require "spec_helper"
6-
require "restful_error/railtie" # require again for run after restful_error_spec
76

8-
RSpec.describe RestfulError::ExceptionsController do
7+
RSpec.describe "exceptions_app" do
98
include Rack::Test::Methods
10-
def app = RestfulError.exceptions_app
9+
def app = RestfulError::ExceptionsApp
1110

11+
shared_context "html" do
12+
let(:request) { get "/#{status_code}" }
13+
let(:body) { request; last_response.body }
14+
end
1215
shared_context "json" do
1316
let(:request) { get "/#{status_code}", {}, 'HTTP_ACCEPT' => 'application/json' }
1417
let(:json) { request; JSON.parse(last_response.body) }
@@ -19,6 +22,15 @@ def app = RestfulError.exceptions_app
1922
end
2023
describe RestfulError[404] do
2124
let(:status_code) { 404 }
25+
include_context "html" do
26+
context 'default message' do
27+
let(:exception) { described_class.new }
28+
it do
29+
expect(body).to include "Page not found"
30+
expect(last_response.status).to eq status_code
31+
end
32+
end
33+
end
2234
include_context "json" do
2335
context 'default message' do
2436
let(:exception) { described_class.new }

0 commit comments

Comments
 (0)