Sha256: 8b2f71319018d2936a5fb049ae58a19c02e9831654a3abf5407929e6f2d49cf0
Contents?: true
Size: 1.19 KB
Versions: 2
Compression:
Stored size: 1.19 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 end # Return the root path of the gem def self.root Pathname.new(File.expand_path('../../', __FILE__)) end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
gaffe-1.0 | lib/gaffe.rb |
gaffe-0.2.1 | lib/gaffe.rb |