lib/basquiat/support/json.rb
# frozen_string_literal: true
module Basquiat
# A simple MultiJson wrapper to protect against eventual API changes.
module Json
# Serializes an Object into a JSON
# @see MultiJson.dump
# @param object [Object] object to be serialized
# @return [String] JSON representation of the object
def self.encode(object)
MultiJson.dump(object)
end
# De-serializes a JSON into a Hash
# @see MultiJson.load
# @param object [Object] object to be de-serialized
# @return [Hash] Hash representing the JSON. The keys are symbolized by default
def self.decode(object)
MultiJson.load(object, symbolize_keys: true)
rescue MultiJson::ParseError
{}
end
end
end