class Rusen::Middleware::RusenRack
Public Class Methods
new(app, settings = {})
click to toggle source
# File lib/rusen/middleware/rusen_rack.rb, line 10 def initialize(app, settings = {}) @app = app if settings.is_a?(::Rusen::Settings) @settings = settings elsif settings.is_a?(Hash) @settings = ::Rusen::Settings.new(settings) end @notifier = ::Rusen::Notifier.new(@settings) if @settings end
Public Instance Methods
call(env)
click to toggle source
# File lib/rusen/middleware/rusen_rack.rb, line 22 def call(env) begin @app.call(env) rescue Exception => error @notifier ||= Rusen.notifier @settings ||= Rusen.settings if @settings && !@settings.exclude_if.call(error) request = Rack::Request.new(env) @notifier.notify(error, request.GET.merge(request.POST), env, request.session) end raise end end