lib/ahoy/engine.rb in ahoy_matey-1.1.1 vs lib/ahoy/engine.rb in ahoy_matey-1.2.0

- old
+ new

@@ -1,30 +1,25 @@ module Ahoy class Engine < ::Rails::Engine - # from https://github.com/evrone/quiet_assets/blob/master/lib/quiet_assets.rb - initializer "ahoy.middleware", after: "sprockets.environment" do |app| + initializer "ahoy.middleware", after: "sprockets.environment" do next unless Ahoy.quiet # Parse PATH_INFO by assets prefix - AHOY_PREFIX = "/ahoy/" - KEY = "ahoy.old_level" + AHOY_PREFIX = "/ahoy/".freeze # Just create an alias for call in middleware Rails::Rack::Logger.class_eval do def call_with_quiet_ahoy(env) - begin - if env["PATH_INFO"].start_with?(AHOY_PREFIX) - env[KEY] = Rails.logger.level - Rails.logger.level = Logger::ERROR + if env["PATH_INFO"].start_with?(AHOY_PREFIX) && logger.respond_to?(:silence_logger) + logger.silence_logger do + call_without_quiet_ahoy(env) end + else call_without_quiet_ahoy(env) - ensure - Rails.logger.level = env[KEY] if env[KEY] end end alias_method_chain :call, :quiet_ahoy end end - end end