Minor cleanup.

This commit is contained in:
Lucas Hosseini 2015-11-03 23:54:49 +01:00
parent 3804dcc238
commit 8ac2b9b01f

View File

@ -102,9 +102,8 @@ module ActiveModel
end end
def serializable_hash_for_single_resource def serializable_hash_for_single_resource
primary_data = primary_data_for(serializer) primary_data = resource_object_for(serializer)
relationships = relationships_for(serializer)
primary_data[:relationships] = relationships if relationships.any?
hash = { data: primary_data } hash = { data: primary_data }
included = included_resources(@include_tree, [primary_data]) included = included_resources(@include_tree, [primary_data])
@ -142,26 +141,22 @@ module ActiveModel
end end
def resource_object_for(serializer) def resource_object_for(serializer)
cache_check(serializer) do resource_object = cache_check(serializer) do
resource_object = resource_identifier_for(serializer) resource_object = resource_identifier_for(serializer)
requested_fields = fieldset && fieldset.fields_for(resource_object[:type]) requested_fields = fieldset && fieldset.fields_for(resource_object[:type])
attributes = attributes_for(serializer, requested_fields) attributes = attributes_for(serializer, requested_fields)
resource_object[:attributes] = attributes if attributes.any? resource_object[:attributes] = attributes if attributes.any?
links = links_for(serializer)
resource_object[:links] = links if links.any?
resource_object resource_object
end end
end
def primary_data_for(serializer) relationships = relationships_for(serializer)
if serializer.respond_to?(:each) resource_object[:relationships] = relationships if relationships.any?
serializer.map { |s| resource_object_for(s) }
else links = links_for(serializer)
resource_object_for(serializer) resource_object[:links] = links if links.any?
end
resource_object
end end
def relationship_value_for(serializer, options = {}) def relationship_value_for(serializer, options = {})
@ -201,9 +196,7 @@ module ActiveModel
else else
return unless serializer && serializer.object return unless serializer && serializer.object
resource_object = primary_data_for(serializer) resource_object = resource_object_for(serializer)
relationships = relationships_for(serializer)
resource_object[:relationships] = relationships if relationships.any?
return if included.include?(resource_object) || primary_data.include?(resource_object) return if included.include?(resource_object) || primary_data.include?(resource_object)
included.push(resource_object) included.push(resource_object)