Sha256: 8843f4a2b569849683aff94e61fd6673cec4f0254ae9fbc9f7dd00dff4323137

Contents?: true

Size: 858 Bytes

Versions: 5

Compression:

Stored size: 858 Bytes

Contents

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|
      next unless Ahoy.quiet

      # Parse PATH_INFO by assets prefix
      AHOY_PREFIX = "/ahoy/"
      KEY = "ahoy.old_level"

      # 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
            end
            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

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
ahoy_matey-1.1.1 lib/ahoy/engine.rb
ahoy_matey-1.1.0 lib/ahoy/engine.rb
ahoy_matey-1.0.2 lib/ahoy/engine.rb
ahoy_matey-1.0.1 lib/ahoy/engine.rb
ahoy_matey-1.0.0 lib/ahoy/engine.rb