Sha256: 2a51cdae4a366bb84c9faab4a3d87a91b63710cb3ba93b4a2587b068a1a29d6e
Contents?: true
Size: 1.5 KB
Versions: 2
Compression:
Stored size: 1.5 KB
Contents
module Dry class Container # Default resolver for resolving items from container # # @api public class Resolver # Resolve an item from the container # # @param [Concurrent::Hash] container # The container # @param [Mixed] key # The key for the item you wish to resolve # # @raise [Dry::Conainer::Error] # If the given key is not registered with the container # # @return [Mixed] # # @api public def call(container, key) item = container.fetch(key.to_s) do raise Error, "Nothing registered with the key #{key.inspect}" end item.call end # Check whether an items is registered under the given key # # @param [Concurrent::Hash] container # The container # @param [Mixed] key # The key you wish to check for registration with # # @return [Bool] # # @api public def key?(container, key) container.key?(key.to_s) end # An array of registered names for the container # # @return [Array] # # @api public def keys(container) container.keys end # Calls block once for each key in container, passing the key as a parameter. # # If no block is given, an enumerator is returned instead. # # @return Hash # # @api public def each_key(container, &block) container.each_key(&block) end end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
dry-container-0.5.0 | lib/dry/container/resolver.rb |
dry-container-0.4.0 | lib/dry/container/resolver.rb |