Sha256: 557b5f47ab1383908a58fc5c10cc068daa23d80f9c8342f693677b35239eb678

Contents?: true

Size: 395 Bytes

Versions: 1

Compression:

Stored size: 395 Bytes

Contents

class JsonapiCompliable::Sideload::HasMany < JsonapiCompliable::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

1 entries across 1 versions & 1 rubygems

Version Path
jsonapi_compliable-1.0.alpha.2 lib/jsonapi_compliable/sideload/has_many.rb