class Hanami::Providers::DB::Gateway
@api public @since 2.2.0
Public Instance Methods
adapter(name = Undefined) { |adapter| ... }
click to toggle source
@api public @since 2.2.0
# File lib/hanami/providers/db/gateway.rb, line 22 def adapter(name = Undefined) return config.adapter if name.eql?(Undefined) if block_given? # If a block is given, explicitly configure the gateway's adapter config.adapter_name = name adapter = (config.adapter ||= Adapters.new_adapter(name)) yield adapter adapter else # If an adapter name is given without a block, use the default adapter configured with # the same name config.adapter_name = adapter_name end end
cache_keys()
click to toggle source
@api private
# File lib/hanami/providers/db/gateway.rb, line 67 def cache_keys [config.database_url, config.connection_options, config.adapter.gateway_cache_keys] end
configure_adapter(default_adapters)
click to toggle source
@api private
# File lib/hanami/providers/db/gateway.rb, line 55 def configure_adapter(default_adapters) default_adapter = default_adapters.find(config.adapter_name) config.adapter ||= default_adapter.dup config.adapter.configure_from_adapter(default_adapter) config.adapter.configure_for_database(config.database_url) self end
connection_options(**options)
click to toggle source
@api public @since 2.2.0
# File lib/hanami/providers/db/gateway.rb, line 40 def connection_options(**options) if options.any? config.connection_options.merge!(options) end config.connection_options end
options()
click to toggle source
@api public @since 2.2.0
# File lib/hanami/providers/db/gateway.rb, line 50 def options {**connection_options, **config.adapter.gateway_options} end
Private Instance Methods
method_missing(name, *args, &block)
click to toggle source
Calls superclass method
# File lib/hanami/providers/db/gateway.rb, line 73 def method_missing(name, *args, &block) if config.respond_to?(name) config.public_send(name, *args, &block) else super end end
respond_to_missing?(name, _include_all = false)
click to toggle source
Calls superclass method
# File lib/hanami/providers/db/gateway.rb, line 81 def respond_to_missing?(name, _include_all = false) config.respond_to?(name) || super end