module CompositePrimaryKeys::CompositeRelation

Public Instance Methods

destroy(id_or_array) click to toggle source
# File lib/composite_primary_keys/composite_relation.rb, line 8
def destroy(id_or_array)
  # Without CPK:
  #if id.is_a?(Array)
  #  id.map { |one_id| destroy(one_id) }
  #else
  #  find(id).destroy
  #end

  id_or_array = if id_or_array.kind_of?(CompositePrimaryKeys::CompositeKeys)
    [id_or_array]
  else
    Array(id_or_array)
  end

  id_or_array.each do |id|
    where(cpk_id_predicate(table, self.primary_key, id)).each do |record|
      record.destroy
    end
  end
end