Module: ActiveRecordProxyAdapters::Trilogy::ConnectionHandling

Defined in:
lib/active_record_proxy_adapters/connection_handling/trilogy_proxy.rb

Overview

Module to extend ActiveRecord::Base with the connection handling methods. Required to make adapter work in ActiveRecord versions <= 7.2.x

Instance Method Summary collapse

Instance Method Details

#trilogy_proxy_adapter_classObject



15
16
17
# File 'lib/active_record_proxy_adapters/connection_handling/trilogy_proxy.rb', line 15

def trilogy_proxy_adapter_class
  ActiveRecord::ConnectionAdapters::TrilogyProxyAdapter
end

#trilogy_proxy_connection(config) ⇒ Object

rubocop:disable Metrics/MethodLength



19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
# File 'lib/active_record_proxy_adapters/connection_handling/trilogy_proxy.rb', line 19

def trilogy_proxy_connection(config) # rubocop:disable Metrics/MethodLength
  configuration = config.dup

  # Set FOUND_ROWS capability on the connection so UPDATE queries returns number of rows
  # matched rather than number of rows updated.
  configuration[:found_rows] = true

  options = [
    configuration[:host],
    configuration[:port],
    configuration[:database],
    configuration[:username],
    configuration[:password],
    configuration[:socket],
    0
  ]

  trilogy_proxy_adapter_class.new nil, logger, options, configuration
end