Class: Gem::UriFormatter
- Inherits:
-
Object
- Object
- Gem::UriFormatter
- Defined in:
- lib/rubygems/uri_formatter.rb
Overview
The UriFormatter handles URIs from user-input and escaping.
uf = Gem::UriFormatter.new 'example.com'
p uf.normalize #=> 'http://example.com'
Instance Attribute Summary collapse
-
#uri ⇒ Object
readonly
The URI to be formatted.
Instance Method Summary collapse
-
#escape ⇒ Object
Escapes the #uri for use as a CGI parameter.
-
#initialize(uri) ⇒ UriFormatter
constructor
Creates a new URI formatter for
uri
. -
#normalize ⇒ Object
Normalize the URI by adding “http://” if it is missing.
-
#unescape ⇒ Object
Unescapes the #uri which came from a CGI parameter.
Constructor Details
#initialize(uri) ⇒ UriFormatter
Creates a new URI formatter for uri
.
22 23 24 |
# File 'lib/rubygems/uri_formatter.rb', line 22 def initialize uri @uri = uri end |
Instance Attribute Details
#uri ⇒ Object (readonly)
The URI to be formatted.
17 18 19 |
# File 'lib/rubygems/uri_formatter.rb', line 17 def uri @uri end |
Instance Method Details
#escape ⇒ Object
Escapes the #uri for use as a CGI parameter
29 30 31 32 |
# File 'lib/rubygems/uri_formatter.rb', line 29 def escape return unless @uri CGI.escape @uri end |
#normalize ⇒ Object
Normalize the URI by adding “http://” if it is missing.
37 38 39 |
# File 'lib/rubygems/uri_formatter.rb', line 37 def normalize (@uri =~ /^(https?|ftp|file):/i) ? @uri : "http://#{@uri}" end |
#unescape ⇒ Object
Unescapes the #uri which came from a CGI parameter
44 45 46 47 |
# File 'lib/rubygems/uri_formatter.rb', line 44 def unescape return unless @uri CGI.unescape @uri end |