Sha256: aa5c8b6e66cac6882caf7d3041c12e156033d5276919a19d238eff8f60ded72a

Contents?: true

Size: 1.77 KB

Versions: 2

Compression:

Stored size: 1.77 KB

Contents

# Copyright (c) 2013 by AppNeta
# All rights reserved.

module Oboe
  module Inst
    module ConnectionAdapters
      module FlavorInitializers
        def self.mysql
          Oboe.logger.info "[oboe/loading] Instrumenting activerecord mysqladapter" if Oboe::Config[:verbose]

          # ActiveRecord 3.2 and higher
          if (::ActiveRecord::VERSION::MAJOR == 3 and ::ActiveRecord::VERSION::MINOR >= 2) or 
              ::ActiveRecord::VERSION::MAJOR == 4

            # AbstractMysqlAdapter
            Oboe::Util.send_include(::ActiveRecord::ConnectionAdapters::AbstractMysqlAdapter,
                                      Oboe::Inst::ConnectionAdapters::Utils)
            Oboe::Util.method_alias(::ActiveRecord::ConnectionAdapters::AbstractMysqlAdapter, :execute)

            # MysqlAdapter
            Oboe::Util.send_include(::ActiveRecord::ConnectionAdapters::MysqlAdapter,
                                      Oboe::Inst::ConnectionAdapters::Utils)
            Oboe::Util.method_alias(::ActiveRecord::ConnectionAdapters::MysqlAdapter, :exec_query)

          else
            # ActiveRecord 3.1 and below
            
            # MysqlAdapter
            Oboe::Util.send_include(::ActiveRecord::ConnectionAdapters::MysqlAdapter,
                                      Oboe::Inst::ConnectionAdapters::Utils)

            Oboe::Util.method_alias(::ActiveRecord::ConnectionAdapters::MysqlAdapter, :execute)
              
            if ::ActiveRecord::VERSION::MAJOR == 3 and ::ActiveRecord::VERSION::MINOR == 1
              Oboe::Util.method_alias(::ActiveRecord::ConnectionAdapters::MysqlAdapter, :begin_db_transaction)
              Oboe::Util.method_alias(::ActiveRecord::ConnectionAdapters::MysqlAdapter, :exec_delete)
            end
          end
        end
      end
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
oboe-2.2.6 lib/oboe/frameworks/rails/inst/connection_adapters/mysql.rb
oboe-2.2.5 lib/oboe/frameworks/rails/inst/connection_adapters/mysql.rb