Class: ConsoleKit::Connections::SqlConnectionHandler

Inherits:
BaseConnectionHandler show all
Defined in:
lib/console_kit/connections/sql_connection_handler.rb

Overview

Handles SQL connections

Instance Attribute Summary

Attributes inherited from BaseConnectionHandler

#context

Instance Method Summary collapse

Methods inherited from BaseConnectionHandler

#initialize, registry, #safe_diagnostics

Methods included from DiagnosticHelpers

clock_time, error_diagnostics, timeout_diagnostics

Constructor Details

This class inherits a constructor from ConsoleKit::Connections::BaseConnectionHandler

Instance Method Details

#available?Boolean

Returns:

  • (Boolean)


16
# File 'lib/console_kit/connections/sql_connection_handler.rb', line 16

def available? = sql_base_class_name.to_s.safe_constantize.present?

#connectObject



9
10
11
12
13
14
# File 'lib/console_kit/connections/sql_connection_handler.rb', line 9

def connect
  shard = context_attribute(:tenant_shard).presence&.to_sym
  Output.print_info("#{connection_message(shard)} via #{base_class}")
  disconnect_existing_pool
  shard ? base_class.establish_connection(shard) : base_class.establish_connection
end

#diagnosticsObject



18
19
20
21
22
23
24
25
26
27
# File 'lib/console_kit/connections/sql_connection_handler.rb', line 18

def diagnostics
  name = 'SQL'
  return unavailable_diagnostics(name) unless available?

  conn = base_class.connection
  latency = measure_latency { conn.execute('SELECT 1') }
  build_sql_diagnostics(conn, latency)
rescue StandardError => e
  error_diagnostics(name, e)
end