Sha256: 0f38e3357bca50ff8f2d2312a9318c435198a38219a27cebc2f97f9fadd6b585
Contents?: true
Size: 1.31 KB
Versions: 1
Compression:
Stored size: 1.31 KB
Contents
###################################################### require "action_dispatch" require "exception_handler/version" require "exception_handler/parser" ###################################################### module ExceptionHandler #Hook class Engine < ::Rails::Engine config.middleware.use 'ExceptionHandler::Message' #DB / Email config.exceptions_app = ->(env) { ExceptionController.action(:show).call(env) } #Error Pages end #DB / Email class Message # Init def initialize(app) @app = app end #Error def call(env) @app.call(env) rescue Exception => exception request = ActionDispatch::Request.new(env) controller = env['action_controller.instance'] ErrorHandler::Parser.new(exception, request, controller).save unless self.ignore?(exception, request) raise exception end #Ignore def ignore?(exception, request, ignored = {}) ignored[:errors] = [ActionController::RoutingError, AbstractController::ActionNotFound, ActiveRecord::RecordNotFound] ignored[:bots] = /\b(Baidu|Gigabot|Googlebot|libwww-per|lwp-trivial|msnbot|SiteUptime|Slurp|Wordpress|ZIBB|ZyBorg|Yandex|Jyxobot|Huaweisymantecspider|ApptusBot)\b/i return true if ignored[:errors].include?(exception.class) && request.referer.blank? return true if request.user_agent =~ ignored[:bots] end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
exception_handler-0.0.25 | lib/exception_handler.rb |