Sha256: 457e9ce2e1a1daa6d0727019ad1c7388922b3600c933dc538a919a7504c46c17

Contents?: true

Size: 948 Bytes

Versions: 13

Compression:

Stored size: 948 Bytes

Contents

require 'ddtrace/contrib/patcher'
require 'ddtrace/contrib/sequel/database'
require 'ddtrace/contrib/sequel/dataset'

module Datadog
  module Contrib
    module Sequel
      # Patcher enables patching of 'sequel' module.
      # This is used in monkey.rb to manually apply patches
      module Patcher
        include Contrib::Patcher

        module_function

        def patched?
          done?(:sequel)
        end

        def patch
          do_once(:sequel) do
            begin
              patch_sequel_database
              patch_sequel_dataset
            rescue StandardError => e
              Datadog::Tracer.log.error("Unable to apply Sequel integration: #{e}")
            end
          end
        end

        def patch_sequel_database
          ::Sequel::Database.send(:include, Database)
        end

        def patch_sequel_dataset
          ::Sequel::Dataset.send(:include, Dataset)
        end
      end
    end
  end
end

Version data entries

13 entries across 13 versions & 1 rubygems

Version Path
ddtrace-0.16.1 lib/ddtrace/contrib/sequel/patcher.rb
ddtrace-0.15.0.internaltracinfeature1 lib/ddtrace/contrib/sequel/patcher.rb
ddtrace-0.16.0 lib/ddtrace/contrib/sequel/patcher.rb
ddtrace-0.14.2.disableprotocolversion4 lib/ddtrace/contrib/sequel/patcher.rb
ddtrace-0.15.0 lib/ddtrace/contrib/sequel/patcher.rb
ddtrace-0.14.2.withoutpriorityparsing1 lib/ddtrace/contrib/sequel/patcher.rb
ddtrace-0.14.2 lib/ddtrace/contrib/sequel/patcher.rb
ddtrace-0.14.1 lib/ddtrace/contrib/sequel/patcher.rb
ddtrace-0.15.0.beta1 lib/ddtrace/contrib/sequel/patcher.rb
ddtrace-0.14.0 lib/ddtrace/contrib/sequel/patcher.rb
ddtrace-0.14.0.rc1 lib/ddtrace/contrib/sequel/patcher.rb
ddtrace-0.14.0.beta2 lib/ddtrace/contrib/sequel/patcher.rb
ddtrace-0.14.0.beta1 lib/ddtrace/contrib/sequel/patcher.rb