Sha256: a8a0068fd22824ce80f65c73c0c32f8c99ea0a027a17d5cca0d15c56d73ceaf8
Contents?: true
Size: 455 Bytes
Versions: 6
Compression:
Stored size: 455 Bytes
Contents
class Graphiti::Sideload::HasMany < Graphiti::Sideload def type :has_many end def load_params(parents, query) query.hash.tap do |hash| hash[:filter] ||= {} hash[:filter].merge!(base_filter(parents)) end end def base_filter(parents) { foreign_key => ids_for_parents(parents).join(',') } end def assign_each(parent, children) children.select { |c| c.send(foreign_key) == parent.send(primary_key) } end end
Version data entries
6 entries across 6 versions & 1 rubygems