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