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