class Gem::UriFormatter - Documentation for Ruby 4.0
Description: class Gem::UriFormatter: The UriFormatter handles URIs from user-input and escaping. UriFormatter.
Keywords: ruby,class,Gem::UriFormatter

🔍

No recent searches

# 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/escape"
      require "cgi/util" unless defined?(CGI::EscapeExt)

      @uri = uri
    end

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

### Public Instance Methods

escape ()
Source

    # File lib/rubygems/uri_formatter.rb, line 29
    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 37
    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 44
    def unescape
      return unless @uri
      CGI.unescape @uri
    end

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