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