# 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) click to toggle source

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

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

      @uri = uri
    end

### Public Instance Methods

escape() click to toggle source

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

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

normalize() click to toggle source

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

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

unescape() click to toggle source

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

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