Sha256: 9ad1e9256641878994de8a101e16d0c5788a093d22c54d6313e7a0f83034a972

Contents?: true

Size: 614 Bytes

Versions: 1

Compression:

Stored size: 614 Bytes

Contents

module ARQLogger
  module Initializer
    def self.patch
      class_eval <<-EOS
        class ActiveRecord::LogSubscriber
          alias_method :real_sql, :sql

          def sql(event)
            ARQLogger.pass(event)
            real_sql(event)
          end
        end

        class ActiveRecord::Base
          after_initialize ->{ ARQLogger.instantiate }
        end
      EOS
    end
  end
end

if defined?(ActiveRecord::LogSubscriber)
  ARQLogger::Initializer.patch
else
  class ARQLoggerApplicationProxy < ::Rails::Railtie
    initializer('add pass method') { ARQLogger::Initializer.patch }
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
a_r_q_logger-0.0.7 lib/a_r_q_logger/initializer.rb