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



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

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.



43
44
45
46
47
48
49
# File 'lib/octopus/rails3/abstract_adapter.rb', line 43

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



36
37
38
39
# File 'lib/octopus/rails3/abstract_adapter.rb', line 36

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

#octopus_shardObject



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

def octopus_shard
  @config[:octopus_shard]
end