Sha256: cbb52243263aac75541f7c40e25ab5825cf20067b531a7e9645e4cac4809a17a

Contents?: true

Size: 922 Bytes

Versions: 8

Compression:

Stored size: 922 Bytes

Contents

module Landable
  module Traffic
    class UserAgent < ActiveRecord::Base
      include Landable::TableName
      self.record_timestamps = false

      lookup_by  :user_agent, cache: 50, find_or_create: true

      lookup_for :user_agent_type, class_name: UserAgentType
      lookup_for :device,          class_name: Device
      lookup_for :platform,        class_name: Platform
      lookup_for :browser,         class_name: Traffic::Browser

      has_many :visitors

      before_save do
        self.user_agent_type ||= case user_agent
                                 when /pingdom|newrelicpinger/i
                                   'ping'
                                 when /scanalert|tinfoilsecurity/i
                                   'scan'
                                 when /bot|crawl|spider/i
                                   'crawl'
                                 end
      end
    end
  end
end

Version data entries

8 entries across 8 versions & 1 rubygems

Version Path
landable-1.13.1 app/models/landable/traffic/user_agent.rb
landable-1.12.3 app/models/landable/traffic/user_agent.rb
landable-1.12.2 app/models/landable/traffic/user_agent.rb
landable-1.12.1 app/models/landable/traffic/user_agent.rb
landable-1.11.1 app/models/landable/traffic/user_agent.rb
landable-1.11.0 app/models/landable/traffic/user_agent.rb
landable-1.10.0.rc2 app/models/landable/traffic/user_agent.rb
landable-1.10.0.rc1 app/models/landable/traffic/user_agent.rb