# class Gem::UriFormatter

The `UriFormatter` handles URIs from user-input and escaping.

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

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

### Attributes

uri [R]

The `URI` to be formatted.

### Public Class Methods

new (uri)
Source

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

      @uri = uri
    end

Creates a new `URI` formatter for `uri`.

### Public Instance Methods

escape ()
Source

    # File lib/rubygems/uri_formatter.rb, line 28
    def escape
      return unless @uri
      CGI.escape @uri
    end

Escapes the `uri` for use as a `CGI` parameter

normalize ()
Source

    # File lib/rubygems/uri_formatter.rb, line 36
    def normalize
      /^(https?|ftp|file):/i.match?(@uri) ? @uri : "http://#{@uri}"
    end

Normalize the `URI` by adding “http://” if it is missing.

unescape ()
Source

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

Unescapes the `uri` which came from a `CGI` parameter