class Geocoder::IpAddress
Constants
- PRIVATE_IPS
Public Class Methods
new(ip)
click to toggle source
Calls superclass method
# File lib/geocoder/ip_address.rb, line 10 def initialize(ip) ip = ip.to_string if ip.is_a?(IPAddr) if ip.is_a?(Hash) super(**ip) else super(ip) end end
Public Instance Methods
internal?()
click to toggle source
# File lib/geocoder/ip_address.rb, line 19 def internal? loopback? || private? end
loopback?()
click to toggle source
# File lib/geocoder/ip_address.rb, line 23 def loopback? valid? and !!(self == "0.0.0.0" or self.match(/\A127\./) or self == "::1") end
private?()
click to toggle source
# File lib/geocoder/ip_address.rb, line 27 def private? valid? && PRIVATE_IPS.any? { |ip| ip.include?(self) } end
valid?()
click to toggle source
# File lib/geocoder/ip_address.rb, line 31 def valid? ip = self[/(?<=\[)(.*?)(?=\])/] || self !!((ip =~ Resolv::IPv4::Regex) || (ip =~ Resolv::IPv6::Regex)) end