Sha256: 6d201ce2bd6fa8d87465ffca2afb8cb7a26444fde7d2db457a51d69f21b9d6ed

Contents?: true

Size: 974 Bytes

Versions: 5

Compression:

Stored size: 974 Bytes

Contents

# typed: true
module Datadog
  module Contrib
    module ActiveRecord
      module Configuration
        # The `makara` gem has the concept of **role**, which can be
        # inferred from the configuration `name`, in the form of:
        # `master/0`, `replica/0`, `replica/1`, etc.
        # The first part of this string is the database role.
        #
        # This allows the matching of a connection based on its role,
        # instead of connection-specific information.
        module MakaraResolver
          def normalize_for_config(active_record_config)
            hash = super
            hash[:makara_role] = active_record_config[:makara_role]
            hash
          end

          def normalize_for_resolve(active_record_config)
            hash = super

            hash[:makara_role] = active_record_config[:name].split('/')[0].to_s if active_record_config[:name].is_a?(String)

            hash
          end
        end
      end
    end
  end
end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
ddtrace-0.54.2 lib/ddtrace/contrib/active_record/configuration/makara_resolver.rb
ddtrace-0.54.1 lib/ddtrace/contrib/active_record/configuration/makara_resolver.rb
ddtrace-0.54.0 lib/ddtrace/contrib/active_record/configuration/makara_resolver.rb
ddtrace-0.53.0 lib/ddtrace/contrib/active_record/configuration/makara_resolver.rb
ddtrace-0.52.0 lib/ddtrace/contrib/active_record/configuration/makara_resolver.rb