Class: Foreigner::Adapter

Inherits:
Object
  • Object
show all
Defined in:
lib/foreigner/adapter.rb

Class Method Summary collapse

Class Method Details

.configured_nameObject



20
21
22
# File 'lib/foreigner/adapter.rb', line 20

def configured_name
  @configured_name ||= ActiveRecord::Base.connection_pool.spec.config[:adapter]
end

.load!Object



11
12
13
14
15
16
17
18
# File 'lib/foreigner/adapter.rb', line 11

def load!
  if registered.key?(configured_name)
    require registered[configured_name]
  else
    p "Database adapter #{configured_name} not supported. Use:\n" +
      "Foreigner::Adapter.register '#{configured_name}', 'path/to/adapter'"
  end
end

.register(adapter_name, file_name) ⇒ Object



7
8
9
# File 'lib/foreigner/adapter.rb', line 7

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

.safe_include(adapter_class_name, foreigner_module) ⇒ Object



24
25
26
27
28
29
30
31
# File 'lib/foreigner/adapter.rb', line 24

def safe_include(adapter_class_name, foreigner_module)
  ActiveRecord::ConnectionAdapters.const_get(adapter_class_name).class_eval do
    unless ancestors.include? foreigner_module
      include foreigner_module
    end
  end
rescue
end