class Grntest::ResponseParser

Public Class Methods

new(type) click to toggle source
# File lib/grntest/response-parser.rb, line 31
def initialize(type)
  @type = type
end
parse(content, type) click to toggle source
# File lib/grntest/response-parser.rb, line 25
def parse(content, type)
  parser = new(type)
  parser.parse(content)
end

Public Instance Methods

parse(content) click to toggle source
# File lib/grntest/response-parser.rb, line 35
def parse(content)
  case @type
  when "json", "msgpack"
    parse_result(content.chomp)
  else
    content
  end
end
parse_result(result) click to toggle source
# File lib/grntest/response-parser.rb, line 44
def parse_result(result)
  case @type
  when "json"
    begin
      JSON.parse(result)
    rescue JSON::ParserError
      raise ParseError.new(@type, result, $!.message)
    end
  when "msgpack"
    begin
      MessagePack.unpack(result.chomp)
    rescue MessagePack::UnpackError, NoMemoryError
      raise ParseError.new(@type, result, $!.message)
    end
  else
    raise ParseError.new(@type, result, "unknown type")
  end
end