class PHPSession::Decoder::State::ClassName
Public Class Methods
parse(decoder)
click to toggle source
# File lib/php_session/decoder.rb, line 211 def self.parse(decoder) length = decoder.stack.pop; length_include_quotes = length + 3 value_include_quotes = decoder.buffer[0, length_include_quotes] klass = value_include_quotes.gsub(/\A"/,'').gsub(/":\Z/,'') decoder.buffer = decoder.buffer[length_include_quotes..-1] raise Errors::ParseError, "invalid class format" unless decoder.buffer =~ /\A(\d+):(.*)/m decoder.buffer = $2 decoder.start_array($1.to_i, klass) decoder.state = ArrayStart end