Sha256: d2ea73f6490f18fa55afe582d1500f9cbf0b72b2c0e6b2d3c6cbd92e41be8442

Contents?: true

Size: 921 Bytes

Versions: 2

Compression:

Stored size: 921 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

2 entries across 2 versions & 1 rubygems

Version Path
landable-1.14.0 app/models/landable/traffic/user_agent.rb
landable-1.13.2 app/models/landable/traffic/user_agent.rb