build(args)
public
Synopsis
See #new
Description
Creates a new URI::Generic instance from components of URI::Generic with check. Components are:
scheme, userinfo, host, port, registry, path, opaque, query and fragment.
You can provide arguments either by an Array or a
Hash. See #new for hash keys to use or for order of array
items.
Show source
def self.build(args)
if args.kind_of?(Array) &&
args.size == ::URI::Generic::COMPONENT.size
tmp = args.dup
elsif args.kind_of?(Hash)
tmp = ::URI::Generic::COMPONENT.collect do |c|
if args.include?(c)
args[c]
else
nil
end
end
else
component = self.class.component rescue ::URI::Generic::COMPONENT
raise ArgumentError,
"expected Array of or Hash of components of #{self.class} (#{component.join(', ')})"
end
tmp << nil
tmp << true
return self.new(*tmp)
end