lib/ahoy.rb in ahoy_matey-2.0.2 vs lib/ahoy.rb in ahoy_matey-2.1.0

- old
+ new

@@ -1,5 +1,7 @@ +require "ipaddr" + require "active_support" require "active_support/core_ext" require "addressable/uri" require "geocoder" require "safely/core" @@ -20,10 +22,13 @@ self.visit_duration = 4.hours mattr_accessor :visitor_duration self.visitor_duration = 2.years + mattr_accessor :cookies + self.cookies = true + mattr_accessor :cookie_domain mattr_accessor :server_side_visits self.server_side_visits = true @@ -65,11 +70,28 @@ self.track_bots = false mattr_accessor :token_generator self.token_generator = -> { SecureRandom.uuid } + mattr_accessor :mask_ips + self.mask_ips = false + + mattr_accessor :user_agent_parser + self.user_agent_parser = :legacy + def self.log(message) Rails.logger.info { "[ahoy] #{message}" } + end + + def self.mask_ip(ip) + addr = IPAddr.new(ip) + if addr.ipv4? + # set last octet to 0 + addr.mask(24).to_s + else + # set last 80 bits to zeros + addr.mask(48).to_s + end end end ActiveSupport.on_load(:action_controller) do include Ahoy::Controller