Analytic
Analytic provides visitor / session / view tracking without the need for any third-party service.
Installation
$ bundle add analytic
$ bin/rails analytic:install:migrations
$ bin/rails db:migrate
# config/routes.rb
Rails.application.routes.draw do
mount Analytic::Engine, at: '/analytic'
end
# config/initializer/analytic.rb
Analytic.configure do |config|
config.timezone = Time.find_zone('Canada/Pacific') # default is `Time.zone`
config.ip_v4_mask = 24 # '255.255.255.255' becomes '255.255.255.0'
config.ip_v6_mask = 48 # 'ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff' becomes 'ffff:ffff:ffff:0000:0000:0000:0000:0000'
end
Usage
Default inline tracking is configured with:
class ApplicationController
include Analytic::Trackable
before_action { analytic_track! }
end
Alternative job tracking is configured with:
class ApplicationController
include Analytic::Trackable
before_action { analytic_enqueue_track_job! }
note: a queue such as sidekiq, rescue, etc must be running to see tracking
License
The gem is available as open source under the terms of the MIT License.