Class: PHPSession::Decoder::State::String

Inherits:
Object
  • Object
show all
Defined in:
lib/php_session/decoder.rb

Class Method Summary collapse

Class Method Details

.parse(decoder) ⇒ Object



176
177
178
179
180
181
182
183
184
185
186
187
# File 'lib/php_session/decoder.rb', line 176

def self.parse(decoder)
  length = decoder.stack.pop
  length_include_quotes = length + 3

  value_include_quotes = decoder.buffer.byteslice(0, length_include_quotes)
  value = value_include_quotes.gsub(/\A"/,'').gsub(/";\Z/, '')

  value = value.encode(decoder.encoding, decoder.encoding_option) if decoder.encoding
  decoder.buffer = decoder.buffer.byteslice(length_include_quotes .. -1)

  decoder.process_value(value)
end