class Ahoy::BaseStore
Attributes
user[W]
Public Class Methods
new(options)
click to toggle source
# File lib/ahoy/base_store.rb, line 5 def initialize(options) @user = options[:user] @options = options end
Public Instance Methods
authenticate(data)
click to toggle source
# File lib/ahoy/base_store.rb, line 19 def authenticate(data) end
exclude?()
click to toggle source
# File lib/ahoy/base_store.rb, line 39 def exclude? (!Ahoy.track_bots && bot?) || exclude_by_method? || (defined?(Rails::HealthController) && controller.is_a?(Rails::HealthController)) end
generate_id()
click to toggle source
# File lib/ahoy/base_store.rb, line 45 def generate_id Ahoy.token_generator.call end
geocode(data)
click to toggle source
# File lib/ahoy/base_store.rb, line 16 def geocode(data) end
track_event(data)
click to toggle source
# File lib/ahoy/base_store.rb, line 13 def track_event(data) end
track_visit(data)
click to toggle source
# File lib/ahoy/base_store.rb, line 10 def track_visit(data) end
user()
click to toggle source
# File lib/ahoy/base_store.rb, line 25 def user @user ||= begin if Ahoy.user_method.respond_to?(:call) if Ahoy.user_method.arity == 1 Ahoy.user_method.call(controller) else Ahoy.user_method.call(controller, request) end else controller.send(Ahoy.user_method) if controller.respond_to?(Ahoy.user_method, true) end end end
visit()
click to toggle source
# File lib/ahoy/base_store.rb, line 22 def visit end
visit_or_create()
click to toggle source
# File lib/ahoy/base_store.rb, line 49 def visit_or_create visit end
Protected Instance Methods
ahoy()
click to toggle source
# File lib/ahoy/base_store.rb, line 100 def ahoy @ahoy ||= @options[:ahoy] end
bot?()
click to toggle source
# File lib/ahoy/base_store.rb, line 55 def bot? unless defined?(@bot) @bot = begin if request if Ahoy.user_agent_parser == :device_detector detector = DeviceDetector.new(request.user_agent) if Ahoy.bot_detection_version == 2 detector.bot? || (detector.device_type.nil? && detector.os_name.nil?) else detector.bot? end else # no need to throw friendly error if browser isn't defined # since will error in visit_properties Browser.new(request.user_agent).bot? end else false end end end @bot end
controller()
click to toggle source
# File lib/ahoy/base_store.rb, line 96 def controller @controller ||= @options[:controller] end
exclude_by_method?()
click to toggle source
# File lib/ahoy/base_store.rb, line 80 def exclude_by_method? if Ahoy.exclude_method if Ahoy.exclude_method.arity == 1 Ahoy.exclude_method.call(controller) else Ahoy.exclude_method.call(controller, request) end else false end end
request()
click to toggle source
# File lib/ahoy/base_store.rb, line 92 def request @request ||= @options[:request] || controller.try(:request) end