lib/dato/json_schema_relationships.rb in dato-0.6.17 vs lib/dato/json_schema_relationships.rb in dato-0.6.18
- old
+ new
@@ -5,14 +5,24 @@
def initialize(schema)
@schema = schema
end
def relationships
- if !schema || !schema.properties['data'] || !schema.properties['data'].properties['relationships']
+ if !schema || !schema.properties['data']
return {}
end
- relationships = schema.properties['data'].properties['relationships'].properties
+ entity = if schema.properties['data'].type.first == 'array'
+ schema.properties['data'].items
+ else
+ schema.properties['data']
+ end
+
+ if !entity || !entity.properties['relationships'] || !entity.properties['relationships']
+ return {}
+ end
+
+ relationships = entity.properties['relationships'].properties
relationships.each_with_object({}) do |(relationship, schema), acc|
is_collection = schema.properties['data'].type.first == 'array'
types = if is_collection