class IPAddr
Code validate private/public IP acceptable ranges.
Constants
- PRIVATE_RANGES
Public Class Methods
address_prefix(ip, cidr)
click to toggle source
# File lib/azure/core/utility.rb, line 182 def address_prefix(ip, cidr) ip + '/' + cidr.to_s end
valid?(ip)
click to toggle source
# File lib/azure/core/utility.rb, line 186 def valid?(ip) (IPAddr.new(ip) rescue nil).nil? end
validate_address_space(ip)
click to toggle source
# File lib/azure/core/utility.rb, line 174 def validate_address_space(ip) if ip.split('/').size != 2 raise "Cidr is invalid for IP #{ip}." elsif valid?(ip) raise "Address space '#{ip}' is invalid." end end
validate_ip_and_prefix(ip, cidr)
click to toggle source
# File lib/azure/core/utility.rb, line 164 def validate_ip_and_prefix(ip, cidr) if cidr.to_s.empty? raise "Cidr is missing for IP '#{ip}'." elsif valid?(ip) raise "Ip address '#{ip}' is invalid." elsif !IPAddr.new(ip).private? raise "Ip Address #{ip} must be private." end end
Public Instance Methods
private?()
click to toggle source
# File lib/azure/core/utility.rb, line 151 def private? return false unless self.ipv4? PRIVATE_RANGES.each do |ipr| return true if ipr.include?(self) end false end
public?()
click to toggle source
# File lib/azure/core/utility.rb, line 159 def public? !private? end