1
0
Fork 0
mirror of https://github.com/ruby/ruby.git synced 2022-11-09 12:17:21 -05:00
ruby--ruby/lib/rubygems/uri_formatter.rb

40 lines
530 B
Ruby
Raw Normal View History

require 'uri'
class Gem::UriFormatter
attr_reader :uri
def initialize uri
@uri = uri
end
def escape
return unless @uri
escaper.escape @uri
end
##
# Normalize the URI by adding "http://" if it is missing.
def normalize
(@uri =~ /^(https?|ftp|file):/i) ? @uri : "http://#{@uri}"
end
def unescape
return unless @uri
escaper.unescape @uri
end
private
def escaper
@uri_parser ||=
begin
URI::Parser.new
rescue NameError
URI
end
end
end