Sha256: 70871da3c5abc2af5ebb59dbb9bba0a73c49a9fb6db33d23515a64d267c9bd34
Contents?: true
Size: 1.09 KB
Versions: 3
Compression:
Stored size: 1.09 KB
Contents
# frozen_string_literal: true require "dry/core" module Hanami module Providers class DB < Hanami::Provider::Source # @api public # @since 2.2.0 class Config < Dry::Configurable::Config include Dry::Core::Constants # @api public # @since 2.2.0 def gateway(key) gateway = (gateways[key] ||= Gateway.new) yield gateway if block_given? gateway end # @api public # @since 2.2.0 def adapter(name) adapter = adapters.adapter(name) yield adapter if block_given? adapter end # @api private def each_plugin return to_enum(__method__) unless block_given? gateways.values.group_by(&:adapter_name).each do |adapter_name, adapter_gateways| per_adapter_plugins = adapter_gateways.map { _1.adapter.plugins }.flatten(1).uniq per_adapter_plugins.each do |plugin_spec, config_block| yield adapter_name, plugin_spec, config_block end end end end end end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
hanami-2.2.1 | lib/hanami/providers/db/config.rb |
hanami-2.2.0 | lib/hanami/providers/db/config.rb |
hanami-2.2.0.rc1 | lib/hanami/providers/db/config.rb |