| Server IP : 74.208.236.52 / Your IP : 216.73.217.98 Web Server : Apache System : Linux infong527 4.4.400-icpu-115 #2 SMP Mon Jul 6 08:15:05 UTC 2026 x86_64 User : u44043973 ( 5404757) PHP Version : 8.4.24 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : OFF | Sudo : OFF | Pkexec : OFF Directory : /proc/thread-self/root/lib/ruby/vendor_ruby/rubygems/ |
Upload File : |
# frozen_string_literal: true
##
# The UriFormatter handles URIs from user-input and escaping.
#
# uf = Gem::UriFormatter.new 'example.com'
#
# p uf.normalize #=> 'http://example.com'
class Gem::UriFormatter
##
# The URI to be formatted.
attr_reader :uri
##
# Creates a new URI formatter for +uri+.
def initialize(uri)
require "cgi"
@uri = uri
end
##
# Escapes the #uri for use as a CGI parameter
def escape
return unless @uri
CGI.escape @uri
end
##
# Normalize the URI by adding "http://" if it is missing.
def normalize
/^(https?|ftp|file):/i.match?(@uri) ? @uri : "http://#{@uri}"
end
##
# Unescapes the #uri which came from a CGI parameter
def unescape
return unless @uri
CGI.unescape @uri
end
end