Sha256: 10e4ad73df0a5468636ea9553e1eb1ba862a181691abf1e76e6a24906a84c5ee

Contents?: true

Size: 655 Bytes

Versions: 5

Compression:

Stored size: 655 Bytes

Contents

# frozen_string_literal: true

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

5 entries across 5 versions & 1 rubygems

Version Path
dry-container-0.11.0 lib/dry/container/item/factory.rb
dry-container-0.10.1 lib/dry/container/item/factory.rb
dry-container-0.10.0 lib/dry/container/item/factory.rb
dry-container-0.9.0 lib/dry/container/item/factory.rb
dry-container-0.8.0 lib/dry/container/item/factory.rb