Module: Ahoy

Defined in:
lib/ahoy.rb,
lib/ahoy/model.rb,
lib/ahoy/engine.rb,
lib/ahoy/tracker.rb,
lib/ahoy/version.rb,
lib/ahoy/controller.rb,
app/models/ahoy/event.rb,
lib/ahoy/subscribers/active_record.rb,
app/controllers/ahoy/base_controller.rb,
lib/generators/ahoy/install_generator.rb,
app/controllers/ahoy/events_controller.rb,
app/controllers/ahoy/visits_controller.rb,
lib/generators/ahoy/events/active_record_generator.rb

Defined Under Namespace

Modules: Controller, Events, Generators, Model, Subscribers Classes: BaseController, Engine, Event, EventsController, Tracker, VisitsController

Constant Summary collapse

VERSION =
"0.3.0"

Class Method Summary collapse

Class Method Details

.fetch_user(controller) ⇒ Object



40
41
42
43
44
45
46
# File 'lib/ahoy.rb', line 40

def self.fetch_user(controller)
  if user_method.respond_to?(:call)
    user_method.call(controller)
  else
    controller.send(user_method)
  end
end

.generate_idObject



17
18
19
# File 'lib/ahoy.rb', line 17

def self.generate_id
  SecureRandom.uuid
end

.referrer_parserObject

TODO private performance hack for referer-parser



31
32
33
# File 'lib/ahoy.rb', line 31

def self.referrer_parser
  @referrer_parser ||= RefererParser::Referer.new("https://github.com/ankane/ahoy")
end

.user_agent_parserObject

performance



36
37
38
# File 'lib/ahoy.rb', line 36

def self.user_agent_parser
  @user_agent_parser ||= UserAgentParser::Parser.new
end

.visit_modelObject



21
22
23
# File 'lib/ahoy.rb', line 21

def self.visit_model
  @visit_model || ::Visit
end

.visit_model=(visit_model) ⇒ Object



25
26
27
# File 'lib/ahoy.rb', line 25

def self.visit_model=(visit_model)
  @visit_model = visit_model
end