def validate_ip_netmask(netmask, options=nil)
known_args = [:Integer, :Version]
is_integer = false
version = 4
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?(:Integer) && options[:Integer] == true)
is_integer = true
end
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 (netmask.kind_of?(String))
validate_netmask_str(netmask,version)
elsif (netmask.kind_of?(Integer) )
validate_netmask_int(netmask,version,is_integer)
else
raise ArgumentError, "Integer or String expected for argument 'netmask' but " +
"#{netmask.class} provided." if (!netmask.kind_of?(String) && !netmask.kind_of?(Integer))
end
return(true)
end