Module: Gaffe
- Defined in:
- lib/gaffe.rb,
lib/gaffe/errors.rb,
lib/gaffe/version.rb,
lib/gaffe/errors_controller.rb
Defined Under Namespace
Modules: Errors Classes: ErrorsController
Constant Summary collapse
- VERSION =
'0.2'
Class Method Summary collapse
-
.builtin_errors_controller ⇒ Object
Return our default controller.
-
.configuration ⇒ Object
Return the configuration settings.
-
.configure {|configuration| ... } ⇒ Object
Yield a block to populate @configuration.
-
.enable! ⇒ Object
Configure Rails to use our code when encountering exceptions.
-
.errors_controller_for_request(env) ⇒ Object
Return the right errors controller to use for the request that triggered the error.
-
.root ⇒ Object
Return the root path of the gem.
Class Method Details
.builtin_errors_controller ⇒ Object
Return our default controller
18 19 20 21 |
# File 'lib/gaffe.rb', line 18 def self.builtin_errors_controller require 'gaffe/errors_controller' Gaffe::ErrorsController end |
.configuration ⇒ Object
Return the configuration settings
13 14 15 |
# File 'lib/gaffe.rb', line 13 def self.configuration @configuration ||= OpenStruct.new end |
.configure {|configuration| ... } ⇒ Object
Yield a block to populate @configuration
8 9 10 |
# File 'lib/gaffe.rb', line 8 def self.configure yield configuration end |
.enable! ⇒ Object
Configure Rails to use our code when encountering exceptions
24 25 26 27 28 |
# File 'lib/gaffe.rb', line 24 def self.enable! Rails.application.config.exceptions_app = lambda do |env| Gaffe.errors_controller_for_request(env).action(:show).call(env) end end |
.errors_controller_for_request(env) ⇒ Object
Return the right errors controller to use for the request that triggered the error
32 33 34 35 36 37 38 39 40 |
# File 'lib/gaffe.rb', line 32 def self.errors_controller_for_request(env) controller = configuration.errors_controller if controller.is_a?(Hash) controller = controller.detect { |pattern, _| env["REQUEST_URI"] =~ pattern }.try(:last) end controller || builtin_errors_controller end |
.root ⇒ Object
Return the root path of the gem
43 44 45 |
# File 'lib/gaffe.rb', line 43 def self.root File.('../../', __FILE__) end |