require 'crack/json'

module Crack
  class JSON

    def self.parse_with_tumblr(json)
      cleaned_json = json.gsub(/^var\s+.+\s+=\s+/, '').gsub(/;$/, '')
      parse_without_tumblr(cleaned_json)
    rescue ArgumentError => e
      raise ParseError, "Invalid JSON string #{e.inspect}"
    end

    class << self
      alias_method_chain :parse, :tumblr
    end

  end
end