# 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)
Source

    # File lib/uri/file.rb, line 53
    def self.build(args)
      tmp = Util::make_components_hash(self, args)
      super(tmp)
    end

## 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

### Public Instance Methods

check_password (user)
Source

    # File lib/uri/file.rb, line 82
    def check_password(user)
      raise URI::InvalidURIError, "cannot set password for file URI"
    end

raise `InvalidURIError`

check_user (user)
Source

    # File lib/uri/file.rb, line 77
    def check_user(user)
      raise URI::InvalidURIError, "cannot set user for file URI"
    end

raise `InvalidURIError`

check_userinfo (user)
Source

    # File lib/uri/file.rb, line 72
    def check_userinfo(user)
      raise URI::InvalidURIError, "cannot set userinfo for file URI"
    end

raise `InvalidURIError`

set_host (v)
Source

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

Protected setter for the host component `v`.

See also `URI::Generic.host=`.

set_password (v)
Source

    # File lib/uri/file.rb, line 95
    def set_password(v)
    end

do nothing

set_port (v)
Source

    # File lib/uri/file.rb, line 68
    def set_port(v)
    end

do nothing

set_user (v)
Source

    # File lib/uri/file.rb, line 91
    def set_user(v)
    end

do nothing

set_userinfo (v)
Source

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

do nothing