lib/ahoy/controller.rb in ahoy_matey-4.2.1 vs lib/ahoy/controller.rb in ahoy_matey-5.0.0

- old
+ new

@@ -3,13 +3,12 @@ def self.included(base) if base.respond_to?(:helper_method) base.helper_method :current_visit base.helper_method :ahoy end - base.before_action :set_ahoy_cookies, unless: -> { Ahoy.api_only } base.before_action :track_ahoy_visit, unless: -> { Ahoy.api_only } - base.around_action :set_ahoy_request_store + base.around_action :set_ahoy_request_store, unless: -> { Ahoy.api_only } end def ahoy @ahoy ||= Ahoy::Tracker.new(controller: self) end @@ -17,11 +16,11 @@ def current_visit ahoy.visit end def set_ahoy_cookies - if Ahoy.cookies + if Ahoy.cookies? ahoy.set_visitor_cookie ahoy.set_visit_cookie else # delete cookies if exist ahoy.reset @@ -29,14 +28,20 @@ end def track_ahoy_visit defer = Ahoy.server_side_visits != true - if defer && !Ahoy.cookies + if defer && !Ahoy.cookies? # avoid calling new_visit?, which triggers a database call + elsif !Ahoy.cookies? && ahoy.exclude? + # avoid calling new_visit?, which triggers a database call + # may or may not be a new visit + Ahoy.log("Request excluded") elsif ahoy.new_visit? ahoy.track_visit(defer: defer) end + + set_ahoy_cookies end def set_ahoy_request_store previous_value = Ahoy.instance begin