Sha256: 92eef14f7dd81e21229cab53b7bc6990ee721c725bca2da2e682f295d67d810e
Contents?: true
Size: 1.45 KB
Versions: 4
Compression:
Stored size: 1.45 KB
Contents
# frozen_string_literal: true module SmartCore::Container::Commands # @api private # @since 0.5.0 class Register < Base # @return [String, Symbol] # # @api private # @since 0.5.0 attr_reader :dependency_name # @param dependency_name [String, Symbol] # @param options [Hash<Symbol,Any>] # @param dependency_definition [Proc] # @option memoize [Boolean] # @return [void] # # @todo option list # @see [SmartCore::Container::KeyGuard] # # @api private # @since 0.5.0 def initialize(dependency_name, dependency_definition, **options) SmartCore::Container::KeyGuard.indifferently_accessable_key(dependency_name).tap do |name| @dependency_name = name @options = options @dependency_definition = dependency_definition end end # @param registry [SmartCore::Container::Registry] # @return [void] # # @api private # @since 0.5.0 def call(registry) registry.register(dependency_name, **options, &dependency_definition) end # @return [SmartCore::Container::Commands::Register] # # @api private # @since 0.5.0 def dup self.class.new(dependency_name, dependency_definition, **options) end private # @return [Proc] # # @api private # @since 0.5.0 attr_reader :dependency_definition # @return [Hash<Symbol,Any>] # # @api private # @since 0.5.0 attr_reader :options end end
Version data entries
4 entries across 4 versions & 1 rubygems