module SmartCore::Container::Entities::DependencyBuilder

@api private @since 0.1.0 @version 0.8.1

Public Class Methods

build(dependency_name, dependency_definition, memoize) click to toggle source

@param dependency_name [String] @param dependency_definition [Proc] @param memoize [Boolean] @return [SmartCore::Container::Entities::Dependency]

@api private @since 0.1.0 @version 0.8.1

# File lib/smart_core/container/entities/dependency_builder.rb, line 16
def build(dependency_name, dependency_definition, memoize)
  if memoize
    build_memoized_dependency(dependency_name, dependency_definition)
  else
    build_original_dependency(dependency_name, dependency_definition)
  end
end

Private Class Methods

build_memoized_dependency(dependency_name, dependency_definition) click to toggle source

@param dependency_name [String] @param dependency_definition [Proc] @return [SmartCore::Container::Entities::Dependency]

@api private @since 0.8.1

# File lib/smart_core/container/entities/dependency_builder.rb, line 32
def build_memoized_dependency(dependency_name, dependency_definition)
  SmartCore::Container::Entities::MemoizedDependency.new(dependency_name, dependency_definition)
end
build_original_dependency(dependency_name, dependency_definition) click to toggle source

@param dependency_name [String] @param dependency_definition [Proc] @return [SmartCore::Container::Entities::Dependency]

@api private @since 0.8.1

# File lib/smart_core/container/entities/dependency_builder.rb, line 42
def build_original_dependency(dependency_name, dependency_definition)
  SmartCore::Container::Entities::Dependency.new(dependency_name, dependency_definition)
end