Module: Octopus::AbstractAdapter::OctopusShard

Defined in:
lib/octopus/rails3/abstract_adapter.rb

Defined Under Namespace

Classes: InstrumenterDecorator

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.included(base) ⇒ Object



22
23
24
25
# File 'lib/octopus/rails3/abstract_adapter.rb', line 22

def self.included(base)
  base.alias_method_chain :initialize, :octopus_shard
  base.alias_method_chain :clear_query_cache, :octopus
end

Instance Method Details

#clear_query_cache_with_octopusObject

Intercept calls to clear_query_cache and make sure that all query caches on all shards are invalidated, just to be safe.



38
39
40
41
42
43
44
# File 'lib/octopus/rails3/abstract_adapter.rb', line 38

def clear_query_cache_with_octopus
  if Octopus.enabled?
    ActiveRecord::Base.connection_proxy.clear_all_query_caches!
  else
    clear_query_cache_without_octopus
  end
end

#initialize_with_octopus_shard(*args) ⇒ Object



31
32
33
34
# File 'lib/octopus/rails3/abstract_adapter.rb', line 31

def initialize_with_octopus_shard(*args)
  initialize_without_octopus_shard(*args)
  @instrumenter = InstrumenterDecorator.new(self, @instrumenter)
end

#octopus_shardObject



27
28
29
# File 'lib/octopus/rails3/abstract_adapter.rb', line 27

def octopus_shard
  @config[:octopus_shard]
end