Sha256: 70da3e3a72cfa41a1671102dac25917ac967810ffbb3ec62963ec2dfcf64a33a
Contents?: true
Size: 913 Bytes
Versions: 9
Compression:
Stored size: 913 Bytes
Contents
# Implementation courtesy of db-charmer. module Octopus module AbstractAdapter module OctopusShard class InstrumenterDecorator < ActiveSupport::ProxyObject def initialize(adapter, instrumenter) @adapter = adapter @instrumenter = instrumenter end def instrument(name, payload = {}, &block) payload[:octopus_shard] ||= @adapter.octopus_shard @instrumenter.instrument(name, payload, &block) end def method_missing(meth, *args, &block) @instrumenter.send(meth, *args, &block) end end def octopus_shard @config[:octopus_shard] end def initialize(*args) super @instrumenter = InstrumenterDecorator.new(self, @instrumenter) end end end end ActiveRecord::ConnectionAdapters::AbstractAdapter.send(:prepend, Octopus::AbstractAdapter::OctopusShard)
Version data entries
9 entries across 9 versions & 3 rubygems