module Wardrobe::Plugins::JsonInitializer

Public Class Methods

parse(json) click to toggle source
# File lib/wardrobe/plugins/json_initializer.rb, line 8
def self.parse(json)
  raise InvalidJsonError unless json.match(/\A[\[{].+[\]}]\z/m)
  case parser.to_s
  when 'JSON'
    parser.parse(json, symbolize_names: true)
  when 'MultiJson'
    parser.load(json, symbolize_keys: true)
  end
end
parser() click to toggle source
# File lib/wardrobe/plugins/json_initializer.rb, line 18
def self.parser
  @parser ||= select_parser
end
select_parser() click to toggle source
# File lib/wardrobe/plugins/json_initializer.rb, line 22
def self.select_parser
  return MultiJson if defined? MultiJson
  return JSON if defined? JSON
  require 'json'
  JSON
end