class WebMock::Util::Parsers::JSON

Public Class Methods

parse(json) click to toggle source
# File lib/webmock/util/parsers/json.rb, line 16
def self.parse(json)
  yaml = unescape(convert_json_to_yaml(json))
  YAML.load(yaml)
rescue ArgumentError, Psych::SyntaxError => e
  raise ParseError, "Invalid JSON string: #{yaml}, Error: #{e.inspect}"
end
unescape(str) click to toggle source
# File lib/webmock/util/parsers/json.rb, line 25
def self.unescape(str)
  str.gsub(/\\u([0-9a-f]{4})/) { [$1.hex].pack("U") }
end