Module: TS3Query::Escaping

Defined in:
lib/ts3query/escaping.rb

Constant Summary collapse

DECODER_PATTERNS =
{
    '\\\\' => '\\',
    '\/'   => '/',
    '\s'   => ' ',
    '\p'   => '|',
    '\a'   => '\a',
    '\b'   => '\b',
    '\f'   => '\f',
    '\n'   => '\n',
    '\r'   => '\r',
    '\t'   => '\t',
    '\v'   => '\v',
}
ENCODER_PATTERNS =
DECODER_PATTERNS.invert
DECODER_REGEXP =
/\\[#{Regexp.escape(DECODER_PATTERNS.keys.map{|k| k[1]}.join)}]/
ENCODER_REGEXP =
/[#{Regexp.escape(DECODER_PATTERNS.values.join)}]/

Class Method Summary collapse

Class Method Details

.decode(str) ⇒ Object



25
26
27
# File 'lib/ts3query/escaping.rb', line 25

def self.decode(str)
  str.gsub(DECODER_REGEXP, DECODER_PATTERNS)
end

.encode(str) ⇒ Object



21
22
23
# File 'lib/ts3query/escaping.rb', line 21

def self.encode(str)
  str.gsub(ENCODER_REGEXP, ENCODER_PATTERNS)
end