Class: Skylight::Probes::Sequel::Probe Private

Inherits:
Object
  • Object
show all
Defined in:
lib/skylight/probes/sequel.rb

This class is part of a private API. You should avoid using this class if possible, as it may be removed or be changed in the future.

Instance Method Summary collapse

Instance Method Details

#installObject

This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.



6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
# File 'lib/skylight/probes/sequel.rb', line 6

def install
  require 'sequel/database/logging'
  ::Sequel::Database.class_eval do
    alias log_yield_without_sk log_yield

    def log_yield(sql, args=nil, &block)
      log_yield_without_sk(sql, *args) do
        ::ActiveSupport::Notifications.instrument(
          "sql.sequel",
          sql: sql,
          name: "SQL",
          binds: args
        ) do
          block.call
        end
      end
    end
  end
end