Module: URITemplate::Utils::Escaping::Pure

Includes:
StringEncoding
Included in:
URITemplate::Utils
Defined in:
lib/uri_template/utils.rb

Overview

A pure escaping module, which implements escaping methods in pure ruby. The performance is acceptable, but could be better with escape_utils.

Constant Summary

Instance Method Summary (collapse)

Methods included from StringEncoding

#force_utf8, #force_utf8_encode, #force_utf8_fallback, #to_ascii, #to_ascii_encode, #to_ascii_fallback, #to_utf8, #to_utf8_encode, #to_utf8_fallback

Instance Method Details

- (Object) escape_uri(s)



175
176
177
178
179
# File 'lib/uri_template/utils.rb', line 175

def escape_uri(s)
  to_utf8(s.to_s).gsub(URI_ESCAPED){
    '%'+$1.unpack('H2'*$1.bytesize).join('%').upcase
  }
end

- (Object) escape_url(s)



169
170
171
172
173
# File 'lib/uri_template/utils.rb', line 169

def escape_url(s)
  to_utf8(s.to_s).gsub(URL_ESCAPED){
    '%'+$1.unpack('H2'*$1.bytesize).join('%').upcase
  }
end

- (Object) unescape_uri(s)



187
188
189
190
191
# File 'lib/uri_template/utils.rb', line 187

def unescape_uri(s)
  force_utf8( to_ascii(s).gsub(PCT){
    $1.to_i(16).chr
  })
end

- (Object) unescape_url(s)



181
182
183
184
185
# File 'lib/uri_template/utils.rb', line 181

def unescape_url(s)
  force_utf8( to_ascii(s).gsub('+',' ').gsub(PCT){
    $1.to_i(16).chr
  } )
end

- (Boolean) using_escape_utils?

Returns:

  • (Boolean)


193
194
195
# File 'lib/uri_template/utils.rb', line 193

def using_escape_utils?
  false
end