diff options
author | drbrain <drbrain@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2013-10-20 01:33:19 +0000 |
---|---|---|
committer | drbrain <drbrain@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2013-10-20 01:33:19 +0000 |
commit | 3f15d35f83dc91e1e5af6d98e6f6fcd52abd1649 (patch) | |
tree | f677f8d0bff97ded1c0995f27158fb91d32966dd /lib/rubygems/uri_formatter.rb | |
parent | 8552f7aa680e1f1a31d76dc9038d80248a445960 (diff) | |
download | ruby-3f15d35f83dc91e1e5af6d98e6f6fcd52abd1649.tar.gz |
* lib/rubygems: Update RubyGems to master 0886307. This commit
improves documentation and should bring ruby above 75% documented on
rubyci.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43369 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'lib/rubygems/uri_formatter.rb')
-rw-r--r-- | lib/rubygems/uri_formatter.rb | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/lib/rubygems/uri_formatter.rb b/lib/rubygems/uri_formatter.rb index 935d9b52ed..68aacc6369 100644 --- a/lib/rubygems/uri_formatter.rb +++ b/lib/rubygems/uri_formatter.rb @@ -1,13 +1,30 @@ require 'cgi' require 'uri' +## +# 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 @uri = uri end + ## + # Escapes the #uri for use as a CGI parameter + def escape return unless @uri CGI.escape @uri @@ -20,6 +37,9 @@ class Gem::UriFormatter (@uri =~ /^(https?|ftp|file):/i) ? @uri : "http://#{@uri}" end + ## + # Unescapes the #uri which came from a CGI parameter + def unescape return unless @uri CGI.unescape @uri |