Preview Ruby 4.1 is a preview. It can change before the final release. Switch to Ruby 4.0 →
class method
URI::Generic.build
(::Array[nil | ::String | ::Integer]) -> ::URI::Generic
({ scheme: ::String?, userinfo: ::String?, host: ::String?, port: ::Integer?, registry: ::String?, path: ::String?, opaque: ::String?, query: ::String?, fragment: ::String? }) -> instance
build(args)
lib/uri/generic.rb
View on GitHub ↗
# File tmp/rubies/ruby-4.1.0-preview1/lib/uri/generic.rb, line 116
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.component rescue ::URI::Generic::COMPONENT
raise ArgumentError,
"expected Array of or Hash of components of #{self} (#{component.join(', ')})"
end
tmp << nil
tmp << true
return self.new(*tmp)
end
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.