# encoding: UTF-8 require 'oj' Oj.default_options = { symbol_keys: true, mode: :compat } if defined?(Oj) module Spontaneous module JSON module OjParser def parse(json_string) ::Oj.load(json_string) rescue nil end def encode(object) ::Oj.dump(object) end end if defined?(Yajl) module YajlParser def parser Yajl::Parser.new(:symbolize_keys => true) end def encoder Yajl::Encoder.new end def parse(json_string) parser.parse(json_string) rescue nil end def encode(object) encoder.encode(object) end end end extend OjParser def parse_json(json_string) Spontaneous::JSON.parse(json_string) end alias_method :decode_json, :parse_json def encode_json(object) Spontaneous::JSON.encode(object) end end end