111
112
113
114
115
116
117
118
119
120
121
122
123
124
|
# File 'lib/graphiti/sideload/polymorphic_belongs_to.rb', line 111
def resolve(parents, query, graph_parent)
parents.group_by(&grouper.field_name).each_pair do |group_name, group|
next if group_name.nil? || grouper.ignore?(group_name)
match = ->(c) { c.group_name == group_name.to_sym }
if (sideload = children.values.find(&match))
duped = remove_invalid_sideloads(sideload.resource, query)
sideload.resolve(group, duped, graph_parent)
else
err = ::Graphiti::Errors::PolymorphicSideloadChildNotFound
raise err.new(self, group_name)
end
end
end
|