module Proxima::Serialization::ClassMethods
Public Instance Methods
convert_query_or_delta_to_json(query)
click to toggle source
# File lib/proxima/serialization.rb, line 119 def convert_query_or_delta_to_json(query) json_query = {} query.each do |attribute, val| attr_str = attribute.to_s json_path = attributes[attribute] ? attributes[attribute][:json_path] : attr_str json_query[json_path] = unless attr_str[0] == '$' && val.is_a?(Hash) val else self.convert_query_or_delta_to_json val end end json_query end
from_json(json, opts = {})
click to toggle source
# File lib/proxima/serialization.rb, line 104 def from_json(json, opts = {}) json = ActiveSupport::JSON.decode(json) if json.is_a? String json = json.values.first if opts[:include_root] || self.include_root_in_json json = json.first if opts[:single_model_from_array] && json.is_a?(Array) if json.is_a? Array return json.map { |json| self.from_json json } end model = self.new.from_json json model.new_record = opts[:new_record] || false model end