1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30
|
module Ahoy
class Engine < ::Rails::Engine
initializer "ahoy", after: "sprockets.environment" do
Ahoy.logger ||= Rails.logger
# allow Devise to be loaded after Ahoy
require "ahoy/warden" if defined?(Warden)
next unless Ahoy.quiet
# Parse PATH_INFO by assets prefix
AHOY_PREFIX = "/ahoy/".freeze
# Just create an alias for call in middleware
Rails::Rack::Logger.class_eval do
def call_with_quiet_ahoy(env)
if env["PATH_INFO"].start_with?(AHOY_PREFIX) && logger.respond_to?(:silence)
logger.silence do
call_without_quiet_ahoy(env)
end
else
call_without_quiet_ahoy(env)
end
end
alias_method :call_without_quiet_ahoy, :call
alias_method :call, :call_with_quiet_ahoy
end
end
end
end
|