Sha256: 79e6a30f5ea351d897ac89ccc01a390c971fba4bffb463216991bc5c3b66b08a

Contents?: true

Size: 1.16 KB

Versions: 4

Compression:

Stored size: 1.16 KB

Contents

# typed: false
require 'ddtrace/contrib/integration'
require 'ddtrace/contrib/action_mailer/configuration/settings'
require 'ddtrace/contrib/action_mailer/patcher'

module Datadog
  module Contrib
    module ActionMailer
      # Description of ActionMailer integration
      class Integration
        include Contrib::Integration

        MINIMUM_VERSION = Gem::Version.new('5.0.0')

        register_as :action_mailer, auto_patch: false

        def self.version
          Gem.loaded_specs['actionmailer'] && Gem.loaded_specs['actionmailer'].version
        end

        def self.loaded?
          !defined?(::ActionMailer).nil?
        end

        def self.compatible?
          super && version >= MINIMUM_VERSION && !defined?(::ActiveSupport::Notifications).nil?
        end

        # enabled by rails integration so should only auto instrument
        # if detected that it is being used without rails
        def auto_instrument?
          !Datadog::Contrib::Rails::Utils.railtie_supported?
        end

        def default_configuration
          Configuration::Settings.new
        end

        def patcher
          ActionMailer::Patcher
        end
      end
    end
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
ddtrace-0.54.2 lib/ddtrace/contrib/action_mailer/integration.rb
ddtrace-0.54.1 lib/ddtrace/contrib/action_mailer/integration.rb
ddtrace-0.54.0 lib/ddtrace/contrib/action_mailer/integration.rb
ddtrace-0.53.0 lib/ddtrace/contrib/action_mailer/integration.rb