Module: CGI

Defined in:
lib/hub/speedy_stdlib.rb

Constant Summary collapse

ESCAPE_RE =
/[^a-zA-Z0-9 .~_-]/

Class Method Summary collapse

Class Method Details

.escape(s) ⇒ Object



12
13
14
15
16
# File 'lib/hub/speedy_stdlib.rb', line 12

def self.escape(s)
  s.to_s.gsub(ESCAPE_RE) {|match|
    '%' + match.unpack('H2' * match.bytesize).join('%').upcase
  }.tr(' ', '+')
end

.unescape(s) ⇒ Object



18
19
20
21
22
# File 'lib/hub/speedy_stdlib.rb', line 18

def self.unescape(s)
  s.tr('+', ' ').gsub(/((?:%[0-9a-fA-F]{2})+)/) {
    [$1.delete('%')].pack('H*')
  }
end