Sha256: 56b0d638610008b9d8190a55480956527517c38fb5ad72cead3abebfd2f6e84f

Contents?: true

Size: 595 Bytes

Versions: 15

Compression:

Stored size: 595 Bytes

Contents

# Adds current_shard as an attribute; provide a default
# implementation of set_current_shard which considers
# only the current ActiveRecord::Base.connection_proxy
module Octopus
  module ShardTracking
    module Attribute
      def self.included(base)
        base.send(:include, Octopus::ShardTracking)
      end

      attr_accessor :current_shard

      def set_current_shard
        return unless Octopus.enabled?

        if ActiveRecord::Base.connection_proxy.block
          self.current_shard = ActiveRecord::Base.connection_proxy.current_shard
        end
      end
    end
  end
end

Version data entries

15 entries across 15 versions & 4 rubygems

Version Path
ar-octopus-ruby-3-0.11.3 lib/octopus/shard_tracking/attribute.rb
ar-octopus-ruby-3-0.11.2 lib/octopus/shard_tracking/attribute.rb
ar-octopus-0.10.2 lib/octopus/shard_tracking/attribute.rb
ar-octopus-0.10.1 lib/octopus/shard_tracking/attribute.rb
ar-octopus-0.10.0 lib/octopus/shard_tracking/attribute.rb
ar-octopus-master-0.9.2.1 lib/octopus/shard_tracking/attribute.rb
ar-octopus-0.9.2 lib/octopus/shard_tracking/attribute.rb
ar-octopus-0.9.1 lib/octopus/shard_tracking/attribute.rb
ar-octopus-0.9.0 lib/octopus/shard_tracking/attribute.rb
ar-octopus-0.8.6 lib/octopus/shard_tracking/attribute.rb
misha-ar-octopus-0.8.7 lib/octopus/shard_tracking/attribute.rb
misha-ar-octopus-0.8.5 lib/octopus/shard_tracking/attribute.rb
ar-octopus-0.8.5 lib/octopus/shard_tracking/attribute.rb
ar-octopus-0.8.4 lib/octopus/shard_tracking/attribute.rb
ar-octopus-0.8.3 lib/octopus/shard_tracking/attribute.rb