module MultiTenant::DatabaseStatements

Public Instance Methods

delete(arel, name = nil, binds = []) click to toggle source
Calls superclass method
# File lib/activerecord-multi-tenant/query_rewriter.rb, line 237
def delete(arel, name = nil, binds = [])
  model = MultiTenant.multi_tenant_model_for_arel(arel)
  if model.present? && !MultiTenant.with_write_only_mode_enabled? && MultiTenant.current_tenant_id.present?
    arel.where(MultiTenant::TenantEnforcementClause.new(model.arel_table[model.partition_key]))
  end
  super(arel, name, binds)
end
join_to_delete(delete, *args) click to toggle source
Calls superclass method
# File lib/activerecord-multi-tenant/query_rewriter.rb, line 220
def join_to_delete(delete, *args)
  delete = super(delete, *args)
  model = MultiTenant.multi_tenant_model_for_table(delete.ast.left.table_name)
  if model.present? && !MultiTenant.with_write_only_mode_enabled? && MultiTenant.current_tenant_id.present?
    delete.where(MultiTenant::TenantEnforcementClause.new(model.arel_table[model.partition_key]))
  end
  delete
end
join_to_update(update, *args) click to toggle source
Calls superclass method
# File lib/activerecord-multi-tenant/query_rewriter.rb, line 211
def join_to_update(update, *args)
  update = super(update, *args)
  model = MultiTenant.multi_tenant_model_for_table(update.ast.relation.table_name)
  if model.present? && !MultiTenant.with_write_only_mode_enabled? && MultiTenant.current_tenant_id.present?
    update.where(MultiTenant::TenantEnforcementClause.new(model.arel_table[model.partition_key]))
  end
  update
end
update(arel, name = nil, binds = []) click to toggle source
Calls superclass method
# File lib/activerecord-multi-tenant/query_rewriter.rb, line 229
def update(arel, name = nil, binds = [])
  model = MultiTenant.multi_tenant_model_for_arel(arel)
  if model.present? && !MultiTenant.with_write_only_mode_enabled? && MultiTenant.current_tenant_id.present?
    arel.where(MultiTenant::TenantEnforcementClause.new(model.arel_table[model.partition_key]))
  end
  super(arel, name, binds)
end