Module: Foreigner

Defined in:
lib/foreigner.rb,
lib/foreigner.rb,
lib/foreigner/schema_dumper.rb,
lib/foreigner/connection_adapters/sql_2003.rb,
lib/foreigner/connection_adapters/mysql_adapter.rb,
lib/foreigner/connection_adapters/postgresql_adapter.rb,
lib/foreigner/connection_adapters/abstract/schema_statements.rb,
lib/foreigner/connection_adapters/abstract/schema_definitions.rb

Defined Under Namespace

Modules: ConnectionAdapters, SchemaDumper Classes: Railtie

Class Method Summary collapse

Class Method Details

.adaptersObject



13
14
15
# File 'lib/foreigner.rb', line 13

def adapters
  @@adapters ||= {}
end

.configured_adapterObject



36
37
38
# File 'lib/foreigner.rb', line 36

def configured_adapter
  ActiveRecord::Base.connection_pool.spec.config[:adapter]
end

.load_adapter!Object



21
22
23
24
25
26
27
28
29
30
31
32
33
34
# File 'lib/foreigner.rb', line 21

def load_adapter!
  ActiveRecord::ConnectionAdapters.module_eval do
    include Foreigner::ConnectionAdapters::SchemaStatements
    include Foreigner::ConnectionAdapters::SchemaDefinitions
  end

  ActiveRecord::SchemaDumper.class_eval do
    include Foreigner::SchemaDumper
  end

  if adapters.key?(configured_adapter)
    require adapters[configured_adapter]
  end
end

.register(adapter_name, file_name) ⇒ Object



17
18
19
# File 'lib/foreigner.rb', line 17

def register(adapter_name, file_name)
  adapters[adapter_name] = file_name
end