类 URI::File

“file” URI 由 RFC8089 定义。

常量

COMPONENT

一个 Array,包含 URI::File 的可用组件。

DEFAULT_PORT

URI::File 的默认端口为 nil。

公共类方法

build(args) 点击切换源代码

描述

从组件创建新的 URI::File 对象,并进行语法检查。

接受的组件为 hostpath

组件应以 ArrayHash 的形式提供,其中键由在组件名前添加冒号形成。

如果使用 Array,则组件必须按 [host, path] 的顺序传递。

例如,来自 File 类的路径应在传递之前进行转义。

示例

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"
调用超类方法
# File lib/uri/file.rb, line 53
def self.build(args)
  tmp = Util::make_components_hash(self, args)
  super(tmp)
end

公共实例方法

check_password(user) 点击切换源代码

抛出 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) 点击切换源代码

抛出 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) 点击切换源代码

抛出 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) 点击切换源代码

主机组件 v 的受保护设置器。

另请参见 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) 点击切换源代码

不做任何操作

# File lib/uri/file.rb, line 95
def set_password(v)
end
set_port(v) 点击切换源代码

不做任何操作

# File lib/uri/file.rb, line 68
def set_port(v)
end
set_user(v) 点击切换源代码

不做任何操作

# File lib/uri/file.rb, line 91
def set_user(v)
end
set_userinfo(v) 点击切换源代码

不做任何操作

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