def validate_ip_addr(ip, options=nil)
known_args = [:Version]
version = nil
if (options)
raise ArgumentError, "Hash expected for argument 'options' but #{options.class} provided." if (!options.kind_of?(Hash))
NetAddr.validate_args(options.keys,known_args)
if (options.has_key?(:Version))
version = options[:Version]
if (version != 4 && version != 6)
raise ArgumentError, ":Version should be 4 or 6, but was '#{version}'."
end
end
end
if ( ip.kind_of?(String) )
version = NetAddr.detect_ip_version(ip) if (!version)
NetAddr.validate_ip_str(ip,version)
elsif ( ip.kind_of?(Integer) )
NetAddr.validate_ip_int(ip,version)
else
raise ArgumentError, "Integer or String expected for argument 'ip' but " +
"#{ip.class} provided." if (!ip.kind_of?(String) && !ip.kind_of?(Integer))
end
return(true)
end