module ArJsonSerialize::Serializer

Public Instance Methods

dump(source) click to toggle source
# File lib/ar_json_serialize/serializer.rb, line 18
def dump(source)
  ::MultiJson.dump(source)
end
load(source) click to toggle source
# File lib/ar_json_serialize/serializer.rb, line 5
def load(source)
  return '' unless source.present?
  result = parse_source(source)
  case result
  when ::Hash
    ::Hashie::Mash.new(result)
  when ::Array
    parse_array(result)
  else
    result
  end
end

Private Instance Methods

parse_array(result) click to toggle source
# File lib/ar_json_serialize/serializer.rb, line 30
def parse_array(result)
  result.map do |item|
    item.is_a?(::Hash) ? ::Hashie::Mash.new(item) : item
  end
end
parse_source(source) click to toggle source
# File lib/ar_json_serialize/serializer.rb, line 24
def parse_source(source)
  ::MultiJson.load(source)
rescue
  source
end