class URI::File

The “file” URI is defined by RFC8089.

Constants

COMPONENT

An Array of the available components for URI::File.

DEFAULT_PORT

A Default port of nil for URI::File.

Public Class Methods

build(args) click to toggle source

Description

Creates a new URI::File object from components, with syntax checking.

The components accepted are host and path.

The components should be provided either as an Array, or as a Hash with keys formed by preceding the component names with a colon.

If an Array is used, the components must be passed in the order [host, path].

A path from e.g. the File class should be escaped before being passed.

Examples:

require 'uri'

uri1 = URI::File.build(['host.example.com', '/path/file.zip'])
uri1.to_s  # => "file://host.example.com/path/file.zip"

uri2 = URI::File.build({:host => 'host.example.com',
  :path => '/ruby/src'})
uri2.to_s  # => "file://host.example.com/ruby/src"

uri3 = URI::File.build({:path => URI::escape('/path/my file.txt')})
uri3.to_s  # => "file:///path/my%20file.txt"
Calls superclass method
# File lib/uri/file.rb, line 53
def self.build(args)
  tmp = Util::make_components_hash(self, args)
  super(tmp)
end

Public Instance Methods

check_password(user) click to toggle source

raise InvalidURIError

# File lib/uri/file.rb, line 82
def check_password(user)
  raise URI::InvalidURIError, "can not set password for file URI"
end
check_user(user) click to toggle source

raise InvalidURIError

# File lib/uri/file.rb, line 77
def check_user(user)
  raise URI::InvalidURIError, "can not set user for file URI"
end
check_userinfo(user) click to toggle source

raise InvalidURIError

# File lib/uri/file.rb, line 72
def check_userinfo(user)
  raise URI::InvalidURIError, "can not set userinfo for file URI"
end
set_host(v) click to toggle source

Protected setter for the host component v.

See also URI::Generic.host=.

# File lib/uri/file.rb, line 62
def set_host(v)
  v = "" if v.nil? || v == "localhost"
  @host = v
end
set_password(v) click to toggle source

do nothing

# File lib/uri/file.rb, line 95
def set_password(v)
end
set_port(v) click to toggle source

do nothing

# File lib/uri/file.rb, line 68
def set_port(v)
end
set_user(v) click to toggle source

do nothing

# File lib/uri/file.rb, line 91
def set_user(v)
end
set_userinfo(v) click to toggle source

do nothing

# File lib/uri/file.rb, line 87
def set_userinfo(v)
end