class Hanami::Providers::DB::Adapters

@api public @since 2.2.0

Constants

ADAPTER_CLASSES

@api private @since 2.2.0

Attributes

adapters[R]

@api private @since 2.2.0

Public Class Methods

new() click to toggle source

@api private @since 2.2.0

# File lib/hanami/providers/db/adapters.rb, line 32
def initialize
  @adapters = {}
end
new_adapter(name) click to toggle source

@api private @since 2.2.0

# File lib/hanami/providers/db/adapters.rb, line 22
def self.new_adapter(name)
  ADAPTER_CLASSES[name].new
end

Public Instance Methods

adapter(key) click to toggle source

@api private @since 2.2.0

# File lib/hanami/providers/db/adapters.rb, line 48
def adapter(key)
  adapters[key] ||= new(key)
end
find(key) click to toggle source

@api private @since 2.2.0

# File lib/hanami/providers/db/adapters.rb, line 54
def find(key)
  adapters.fetch(key) { new(key) }
end
initialize_copy(source) click to toggle source

@api private @since 2.2.0

# File lib/hanami/providers/db/adapters.rb, line 38
def initialize_copy(source)
  @adapters = source.adapters.dup

  source.adapters.each do |key, val|
    @adapters[key] = val.dup
  end
end
new(key) click to toggle source

@api private @since 2.2.0

# File lib/hanami/providers/db/adapters.rb, line 60
def new(key)
  self.class.new_adapter(key)
end