Sha256: 0b79c62e6e26a810ab4ebfd17466a4c4a2007a0a2fd42ee71d9d7e2a4c873b7f

Contents?: true

Size: 821 Bytes

Versions: 47

Compression:

Stored size: 821 Bytes

Contents

require 'ddtrace/contrib/registry'

module Datadog
  module Contrib
    # Defines registerable behavior for integrations
    module Registerable
      def self.included(base)
        base.send(:extend, ClassMethods)
        base.send(:include, InstanceMethods)
      end

      # Class methods for registerable behavior
      module ClassMethods
        def register_as(name, options = {})
          registry = options.fetch(:registry, Datadog.registry)
          auto_patch = options.fetch(:auto_patch, false)

          registry.add(name, new(name, options), auto_patch)
        end
      end

      # Instance methods for registerable behavior
      module InstanceMethods
        attr_reader \
          :name

        def initialize(name, options = {})
          @name = name
        end
      end
    end
  end
end

Version data entries

47 entries across 47 versions & 2 rubygems

Version Path
ddtrace-0.49.0 lib/ddtrace/contrib/registerable.rb
ddtrace-0.48.0 lib/ddtrace/contrib/registerable.rb
ddtrace-0.47.0 lib/ddtrace/contrib/registerable.rb
ddtrace-0.46.0 lib/ddtrace/contrib/registerable.rb
ddtrace-0.45.0 lib/ddtrace/contrib/registerable.rb
ddtrace-0.44.0 lib/ddtrace/contrib/registerable.rb
ddtrace-0.43.0 lib/ddtrace/contrib/registerable.rb
ddtrace-0.42.0 lib/ddtrace/contrib/registerable.rb
ddtrace-0.41.0 lib/ddtrace/contrib/registerable.rb
ls-trace-0.2.0 lib/ddtrace/contrib/registerable.rb
ddtrace-0.40.0 lib/ddtrace/contrib/registerable.rb
ddtrace-0.39.0 lib/ddtrace/contrib/registerable.rb
ddtrace-0.38.0 lib/ddtrace/contrib/registerable.rb
ddtrace-0.37.0 lib/ddtrace/contrib/registerable.rb
ddtrace-0.36.0 lib/ddtrace/contrib/registerable.rb
ls-trace-0.1.2 lib/ddtrace/contrib/registerable.rb
ddtrace-0.35.2 lib/ddtrace/contrib/registerable.rb
ddtrace-0.35.1 lib/ddtrace/contrib/registerable.rb
ddtrace-0.35.0 lib/ddtrace/contrib/registerable.rb
ddtrace-0.34.2 lib/ddtrace/contrib/registerable.rb