Sha256: cb6fe2e1ecaab2fa5469b959268228b2edb6ead4a86fca173af0ce1b1ea85433

Contents?: true

Size: 409 Bytes

Versions: 1

Compression:

Stored size: 409 Bytes

Contents

require 'active_record'

class ActiveRecord::Base
  class << self
    alias :unscoped_orig :unscoped
    def unscoped
      scope = if respond_to?(:scoped_by_tenant?) && MultiTenant.current_tenant_id
        unscoped_orig.where(arel_table[self.partition_key].eq(MultiTenant.current_tenant_id))
      else
        unscoped_orig
      end

      block_given? ? scope.scoping { yield } : scope
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
activerecord-multi-tenant-0.4.1 lib/activerecord-multi-tenant/default_scope.rb