class Gem::URI::File

“file” Gem::URI 由 RFC8089 定义。

常量

COMPONENT

Gem::URI::File 的可用组件的数组。

DEFAULT_PORT

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

公共类方法

build(args) 点击切换源代码

描述

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

接受的组件是 hostpath

组件应以数组形式提供,或者以哈希形式提供,其键由在组件名称前加上冒号形成。

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

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

示例

require 'rubygems/vendor/uri/lib/uri'

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

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

uri3 = Gem::URI::File.build({:path => Gem::URI::escape('/path/my file.txt')})
uri3.to_s  # => "file:///path/my%20file.txt"
调用父类方法
# File rubygems/vendor/uri/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 rubygems/vendor/uri/lib/uri/file.rb, line 82
def check_password(user)
  raise Gem::URI::InvalidURIError, "cannot set password for file Gem::URI"
end
check_user(user) 点击切换源代码

抛出 InvalidURIError

# File rubygems/vendor/uri/lib/uri/file.rb, line 77
def check_user(user)
  raise Gem::URI::InvalidURIError, "cannot set user for file Gem::URI"
end
check_userinfo(user) 点击切换源代码

抛出 InvalidURIError

# File rubygems/vendor/uri/lib/uri/file.rb, line 72
def check_userinfo(user)
  raise Gem::URI::InvalidURIError, "cannot set userinfo for file Gem::URI"
end
set_host(v) 点击切换源代码

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

另请参阅 Gem::URI::Generic.host=

# File rubygems/vendor/uri/lib/uri/file.rb, line 62
def set_host(v)
  v = "" if v.nil? || v == "localhost"
  @host = v
end
set_password(v) 点击切换源代码

不执行任何操作

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

不执行任何操作

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

不执行任何操作

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

不执行任何操作

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