class Gem::UriFormatter

UriFormatter 处理来自用户输入的 URI 并进行转义。

uf = Gem::UriFormatter.new 'example.com'

p uf.normalize #=> 'http://example.com'

属性

uri[R]

要格式化的 URI。

公共类方法

new(uri) 点击切换源代码

uri 创建一个新的 URI 格式化器。

# File rubygems/uri_formatter.rb, line 19
def initialize(uri)
  require "cgi"

  @uri = uri
end

公共实例方法

escape() 点击切换源代码

转义 uri 以用作 CGI 参数

# File rubygems/uri_formatter.rb, line 28
def escape
  return unless @uri
  CGI.escape @uri
end
normalize() 点击切换源代码

通过添加 “http://” 来规范化 URI(如果缺少)。

# File rubygems/uri_formatter.rb, line 36
def normalize
  /^(https?|ftp|file):/i.match?(@uri) ? @uri : "http://#{@uri}"
end
unescape() 点击切换源代码

反转义来自 CGI 参数的 uri

# File rubygems/uri_formatter.rb, line 43
def unescape
  return unless @uri
  CGI.unescape @uri
end