Sha256: 3afa76b093ac0b48b2f8fecd27d491866034cde49481eae4ad5f373530bce4e7
Contents?: true
Size: 1.05 KB
Versions: 1
Compression:
Stored size: 1.05 KB
Contents
# encoding: UTF-8 # require 'yajl' require 'oj' Oj.default_options = { mode: :compat } if defined?(Oj) module Spontaneous module JSON if defined?(::Oj) module OjParser def parse(json_string) ::Oj.load(json_string, symbol_keys: true) rescue nil end def encode(object) ::Oj.dump(object) end 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 const_get ["OjParser", "YajlParser"].detect { |m| const_defined?(m) } 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
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
spontaneous-0.2.0.beta10 | lib/spontaneous/json.rb |