lib/hanami/providers/db/adapters.rb in hanami-2.2.0.beta2 vs lib/hanami/providers/db/adapters.rb in hanami-2.2.0.rc1

- old
+ new

@@ -28,22 +28,38 @@ attr_reader :adapters # @api private # @since 2.2.0 def initialize - @adapters = Hash.new do |hsh, key| - hsh[key] = self.class.new_adapter(key) - end + @adapters = {} end # @api private # @since 2.2.0 def initialize_copy(source) @adapters = source.adapters.dup source.adapters.each do |key, val| @adapters[key] = val.dup end + end + + # @api private + # @since 2.2.0 + def adapter(key) + adapters[key] ||= new(key) + end + + # @api private + # @since 2.2.0 + def find(key) + adapters.fetch(key) { new(key) } + end + + # @api private + # @since 2.2.0 + def new(key) + self.class.new_adapter(key) end end end end end