Module: ActiveRecordProxyAdapters::Mysql2::ConnectionHandling

Defined in:
lib/active_record_proxy_adapters/connection_handling/mysql2_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

#mysql2_proxy_adapter_classObject



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

def mysql2_proxy_adapter_class
  ::ActiveRecord::ConnectionAdapters::Mysql2ProxyAdapter
end

#mysql2_proxy_connection(config) ⇒ Object

This method is a copy and paste from Rails’ mysql2_connection, replacing Mysql2Adapter by Mysql2ProxyAdapter This is required by ActiveRecord versions <= 7.2.x to establish a connection using the adapter.



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

def mysql2_proxy_connection(config) # rubocop:disable Metrics/MethodLength
  config = config.symbolize_keys
  config[:flags] ||= 0

  if config[:flags].is_a? Array
    config[:flags].push "FOUND_ROWS"
  else
    config[:flags] |= ::Mysql2::Client::FOUND_ROWS
  end

  mysql2_proxy_adapter_class.new(
    mysql2_proxy_adapter_class.new_client(config),
    logger,
    nil,
    config
  )
end