Module: ActiveRecord::QueryMethods

Defined in:
lib/activerecord-multi-tenant/query_rewriter.rb

Instance Method Summary collapse

Instance Method Details

#build_arelObject



34
35
36
37
38
39
40
41
42
43
44
45
# File 'lib/activerecord-multi-tenant/query_rewriter.rb', line 34

def build_arel
  arel = build_arel_orig

  if MultiTenant.current_tenant_id && !MultiTenant.with_write_only_mode_enabled?
    relations_needing_tenant_id = TTTenantVisitor.new(arel).tenant_relations
    arel = relations_needing_tenant_id.reduce(arel) do |arel, relation|
      arel.where(relation[self.partition_key].eq(MultiTenant.current_tenant_id))
    end
  end

  arel
end

#build_arel_origObject



33
# File 'lib/activerecord-multi-tenant/query_rewriter.rb', line 33

alias :build_arel_orig :build_arel