Module: URI::Escape

Included in:
URI
Defined in:
lib/uri/common.rb

Overview

module for escaping unsafe characters with codes.

Instance Method Summary collapse

Instance Method Details

#escape(*arg) ⇒ Object Also known as: encode

Synopsis

URI.escape(str [, unsafe])

Args

str

String to replaces in.

unsafe

Regexp that matches all symbols that must be replaced with codes. By default uses REGEXP::UNSAFE. When this argument is a String, it represents a character set.

Description

Escapes the string, replacing all unsafe characters with codes.

Usage

require 'uri'

enc_uri = URI.escape("http://example.com/?a=\11\15")
p enc_uri
# => "http://example.com/?a=%09%0D"

p URI.unescape(enc_uri)
# => "http://example.com/?a=\t\r"

p URI.escape("@?@!", "!?")
# => "@%3F@%21"


621
622
623
624
# File 'lib/uri/common.rb', line 621

def escape(*arg)
  warn "#{caller(1)[0]}: warning: URI.escape is obsolete" if $VERBOSE
  DEFAULT_PARSER.escape(*arg)
end

#unescape(*arg) ⇒ Object Also known as: decode

Synopsis

URI.unescape(str)

Args

str

Unescapes the string.

Usage

require 'uri'

enc_uri = URI.escape("http://example.com/?a=\11\15")
p enc_uri
# => "http://example.com/?a=%09%0D"

p URI.unescape(enc_uri)
# => "http://example.com/?a=\t\r"


647
648
649
650
# File 'lib/uri/common.rb', line 647

def unescape(*arg)
  warn "#{caller(1)[0]}: warning: URI.unescape is obsolete" if $VERBOSE
  DEFAULT_PARSER.unescape(*arg)
end