Sha256: cb7a7577bc94cf72ae4485ea088816f8e8236fe28909c7ba05a85b9d4bd19ab1

Contents?: true

Size: 624 Bytes

Versions: 4

Compression:

Stored size: 624 Bytes

Contents

require 'dry/container/item/memoizable'
require 'dry/container/item/callable'

module Dry
  class Container
    class Item
      # Factory for create an Item to register inside of container
      #
      # @api public
      class Factory
        # Creates an Item Memoizable or Callable
        # @param [Mixed] item
        # @param [Hash] options
        #
        # @raise [Dry::Container::Error]
        #
        # @return [Dry::Container::Item::Base]
        def call(item, options = {})
          options[:memoize] ? Memoizable.new(item, options) : Callable.new(item, options)
        end
      end
    end
  end
end

Version data entries

4 entries across 4 versions & 2 rubygems

Version Path
grape-extra_validators-2.0.0 vendor/bundle/ruby/2.6.0/gems/dry-container-0.7.2/lib/dry/container/item/factory.rb
dry-container-0.7.2 lib/dry/container/item/factory.rb
dry-container-0.7.1 lib/dry/container/item/factory.rb
dry-container-0.7.0 lib/dry/container/item/factory.rb