mask_ip -> mask_ips

Andrew committed May 02, 2018
commit 4aa57ee2307a86ea893fc4b307555ac15497d4b6
Showing 2 changed files with 17 additions and 12 deletions
ahoy.rb b/lib/ahoy.rb +15 -2
@@ @@ -1,3 +1,5 @@
+ require "ipaddr"
+
require "active_support"
require "active_support/core_ext"
require "addressable/uri"
@@ @@ -67,12 +69,23 @@ module Ahoy
mattr_accessor :token_generator
self.token_generator = -> { SecureRandom.uuid }
- mattr_accessor :mask_ip
- self.mask_ip = false
+ mattr_accessor :mask_ips
+ self.mask_ips = false
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
ahoy/visit_properties.rb b/lib/ahoy/visit_properties.rb +2 -10
@@ @@ -1,4 +1,3 @@
- require "ipaddr"
require "browser"
require "referer-parser"
require "user_agent_parser"
@@ @@ -74,15 +73,8 @@ module Ahoy
# https://support.google.com/analytics/answer/2763052
def ip
ip = request.remote_ip
- if ip && Ahoy.mask_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
+ if ip && Ahoy.mask_ips
+ Ahoy.mask_ip(ip)
else
ip
end