Module: Contingency::Adapters::Rails

Includes:
Interface
Defined in:
lib/contingency/rails.rb,
lib/contingency/rails/railtie.rb,
lib/contingency/rails/version.rb,
lib/contingency/rails/configuration.rb

Defined Under Namespace

Modules: ClassMethods Classes: Configuration, Railtie

Constant Summary collapse

VERSION =
"4.1.0"

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.included(base) ⇒ Object



16
17
18
# File 'lib/contingency/rails.rb', line 16

def self.included(base)
  base.extend(ClassMethods)
end

Instance Method Details

#error_renderer(code) ⇒ Object



20
21
22
23
24
# File 'lib/contingency/rails.rb', line 20

def error_renderer(code)
  render Contingency.configuration.error_template,
          status: code,
          layout: Contingency.configuration.error_layout
end

#failure_renderer(code) ⇒ Object



26
27
28
# File 'lib/contingency/rails.rb', line 26

def failure_renderer(code)
  render status: code, text: Contingency.configuration.failure_message
end

#routing_errorObject

Custom controller action. Raises traditional Rack-level Rails RoutingError at Application-level instead, so it ‘rescue_from` in Contingency’s error handler can catch it instead of Rack’s. Works in conjunction with a catchall route pointed at this controller action.

Raises:

  • (ActionController::RoutingError)


34
35
36
# File 'lib/contingency/rails.rb', line 34

def routing_error
  raise ActionController::RoutingError, "No route matches [#{env['REQUEST_METHOD']}] #{env['PATH_INFO'].inspect}"
end