Sha256: 5c6b1ee7249b118211b48023de0f2d4f8ed7a7d8b546894351de0332bbb98efc
Contents?: true
Size: 1.27 KB
Versions: 1
Compression:
Stored size: 1.27 KB
Contents
require 'gaffe/version' require 'ostruct' require 'pathname' require 'gaffe/errors' module Gaffe # Yield a block to populate @configuration def self.configure yield configuration end # Return the configuration settings def self.configuration @configuration ||= OpenStruct.new end # Return our default controller def self.builtin_errors_controller @builtin_errors_controller ||= begin require 'gaffe/errors_controller' Gaffe::ErrorsController end end # Configure Rails to use our code when encountering exceptions def self.enable! Rails.application.config.exceptions_app = lambda do |env| Gaffe.errors_controller_for_request(env).action(:show).call(env) end end # Return the right errors controller to use for the request that # triggered the error 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 controller.respond_to?(:constantize) ? controller.constantize : controller end # Return the root path of the gem def self.root Pathname.new(File.expand_path('../../', __FILE__)) end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
gaffe-1.0.1 | lib/gaffe.rb |