Quiet endpoint requests

Andrew Kane committed May 28, 2014
commit 84bb958297a397b55f6456197630622be7e68f0a
Showing 3 changed files with 28 additions and 0 deletions
CHANGELOG.md +1 -0
@@ @@ -1,5 +1,6 @@
## 0.2.3 [unreleased]
+ - Quiet endpoint requests
- Skip server-side bot events
- Added `request` argument to `exclude_method`
ahoy/engine.rb b/lib/ahoy/engine.rb +24 -0
@@ @@ -1,4 +1,28 @@
module Ahoy
class Engine < ::Rails::Engine
+ # from https://github.com/evrone/quiet_assets/blob/master/lib/quiet_assets.rb
+ initializer "ahoy", 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
ahoy_matey.rb b/lib/ahoy_matey.rb +3 -0
@@ @@ -53,6 +53,9 @@ module Ahoy
mattr_accessor :track_bots
self.track_bots = false
+
+ mattr_accessor :quiet
+ self.quiet = true
end
ActionController::Base.send :include, Ahoy::Controller