Sha256: b5d3e286bbe4f6d0e9bff610c3e93258262ef14ca515b12ba53290f2817a8c09

Contents?: true

Size: 377 Bytes

Versions: 2

Compression:

Stored size: 377 Bytes

Contents

class Graphiti::Sideload::HasMany < Graphiti::Sideload
  def type
    :has_many
  end

  def load_params(parents, query)
    query.to_hash.tap do |hash|
      hash[:filter] ||= {}
      hash[:filter][foreign_key] = ids_for_parents(parents)
    end
  end

  def assign_each(parent, children)
    children.select { |c| c.send(foreign_key) == parent.send(primary_key) }
  end
end

Version data entries

2 entries across 2 versions & 2 rubygems

Version Path
graphiti-1.0.alpha.1 lib/graphiti/sideload/has_many.rb
graphiti-rb-1.0.alpha.1 lib/graphiti/sideload/has_many.rb