Module: ActiveRecord::ConnectionHandling

Defined in:
lib/active_record/connection_adapters/mysql2rgeo/create_connection.rb

Overview

:nodoc:

Instance Method Summary collapse

Instance Method Details

#jdbcmysql2rgeo_connection(config) ⇒ Object



13
14
15
16
# File 'lib/active_record/connection_adapters/mysql2rgeo/create_connection.rb', line 13

def jdbcmysql2rgeo_connection(config)
  config[:adapter_class] = ConnectionAdapters::Mysql2RgeoAdapter
  mysql2_connection(config)
end

#mysql2rgeo_connection(config) ⇒ Object

Based on the default mysql2_connection definition from ActiveRecord. github.com/rails/rails/blob/master/activerecord/lib/active_record/connection_adapters/mysql2_adapter.rb FULL REPLACEMENT because we need to create a different class.



26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
# File 'lib/active_record/connection_adapters/mysql2rgeo/create_connection.rb', line 26

def mysql2rgeo_connection(config)
  config = config.symbolize_keys

  config[:username] = "root" if config[:username].nil?
  config[:flags] ||= 0

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

  client = Mysql2::Client.new(config)
  ConnectionAdapters::Mysql2RgeoAdapter.new(client, logger, nil, config)
rescue Mysql2::Error => e
  if e.message.include?("Unknown database")
    raise ActiveRecord::NoDatabaseError
  else
    raise
  end
end