Class: Rails::Buddy::Subscribers::ActiveRecord

Inherits:
Base
  • Object
show all
Defined in:
lib/rails/buddy/subscribers/active_record.rb

Constant Summary collapse

EVENTS =
{ 'sql.active_record' => :active_record }.freeze

Class Method Summary collapse

Class Method Details

.active_record(event) ⇒ Object

rubocop:disable Metrics/MethodLength



21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
# File 'lib/rails/buddy/subscribers/active_record.rb', line 21

def active_record(event) # rubocop:disable Metrics/MethodLength
  return unless Tracker.track? && event.payload[:name] != 'SCHEMA'

  payload = event.payload

  Tracker.add_query({
                      title: title_from_payload(payload, event.duration),
                      name: payload[:name],
                      sql: sql_from_payload(payload),
                      cached: payload[:cached].present?,
                      async: payload[:async],
                      duration: event.duration.round(1),
                      lock_wait: payload[:lock_wait]&.round(1)
                    })
end

.subscribeObject



12
13
14
15
16
17
18
19
# File 'lib/rails/buddy/subscribers/active_record.rb', line 12

def subscribe
  super
  ActiveSupport.on_load(:active_record) do
    after_initialize do |model|
      Tracker.add_model(model)
    end
  end
end