Method: EPlat::Concerns::OverwriteInstanceMethods#as_eplat_json

Defined in:
lib/e_plat/resource/concerns/overwrite_instance_methods.rb

#as_eplat_jsonObject



63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
# File 'lib/e_plat/resource/concerns/overwrite_instance_methods.rb', line 63

def as_eplat_json
  schema_keys = self.class.schema.keys
  schema_keys.each_with_object({}) do |key, hash|
    value = send(key)
    
    hash[key] = 
      if value.is_a?(Array)
        value.map { |item| item.respond_to?(:as_eplat_json) ? item.as_eplat_json : item }
      elsif value.respond_to?(:as_eplat_json)
        value.as_eplat_json
      else
        value
      end
  end
end