Class: Appsignal::Hooks::SequelHook

Inherits:
Hook show all
Defined in:
lib/appsignal/hooks/sequel.rb

Instance Method Summary collapse

Methods inherited from Hook

#initialize, #installed?, register, #try_to_install

Constructor Details

This class inherits a constructor from Appsignal::Hooks::Hook

Instance Method Details

#dependencies_present?Boolean

Returns:

  • (Boolean)


68
69
70
71
72
# File 'lib/appsignal/hooks/sequel.rb', line 68

def dependencies_present?
  defined?(::Sequel::Database) &&
    Appsignal.config &&
    Appsignal.config[:instrument_sequel]
end

#installObject



74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
# File 'lib/appsignal/hooks/sequel.rb', line 74

def install
  # Register the extension...
  if (::Sequel::MAJOR >= 4 && ::Sequel::MINOR >= 35) || ::Sequel::MAJOR >= 5
    ::Sequel::Database.register_extension(
      :appsignal_integration,
      Appsignal::Hooks::SequelLogConnectionExtension
    )
  else
    ::Sequel::Database.register_extension(
      :appsignal_integration,
      Appsignal::Hooks::SequelLogExtension
    )
  end

  # ... and automatically add it to future instances.
  ::Sequel::Database.extension(:appsignal_integration)

  Appsignal::Environment.report_enabled("sequel")
end