class CrystalClear::RegistrationBuilder
Attributes
classes[R]
clazz[R]
Public Class Methods
for(clazz)
click to toggle source
# File lib/crystal_clear/registration_builder.rb, line 19 def self.for(clazz) RegistrationBuilder.new(clazz) end
new(clazz)
click to toggle source
# File lib/crystal_clear/registration_builder.rb, line 13 def initialize(clazz) @clazz = clazz @classes = [clazz] @block = lambda { |add_procedure| add_procedure.call(@classes, ArgumentlessInstantiator.new(@clazz), @clazz) } end
Public Instance Methods
build(add_procedure)
click to toggle source
# File lib/crystal_clear/registration_builder.rb, line 50 def build(add_procedure) @block.call(add_procedure) end
resolves_to_instance(instance)
click to toggle source
# File lib/crystal_clear/registration_builder.rb, line 35 def resolves_to_instance(instance) @block = lambda { |add_procedure| add_procedure.call(@classes, PassThroughInstantiator.new(instance), @clazz) } self end
resolves_to_provider(provider_class)
click to toggle source
# File lib/crystal_clear/registration_builder.rb, line 40 def resolves_to_provider(provider_class) @block = lambda { |add_procedure| add_procedure.call(@classes, ProviderInstantiator.new(provider_class), @clazz) } self end
resolves_to_singleton()
click to toggle source
# File lib/crystal_clear/registration_builder.rb, line 30 def resolves_to_singleton @block = lambda { |add_procedure| add_procedure.call(@classes, SingletonInstantiator.new(@clazz), @clazz) } self end
resolves_to_singleton_provider(provider_class)
click to toggle source
# File lib/crystal_clear/registration_builder.rb, line 45 def resolves_to_singleton_provider(provider_class) @block = lambda { |add_procedure| add_procedure.call(@classes, SingletonProviderInstantiator.new(provider_class), @clazz) } self end
under(*classes)
click to toggle source
# File lib/crystal_clear/registration_builder.rb, line 23 def under(*classes) arr = classes.respond_to?(:each) ? classes : [classes] arr.each { |c| @classes.push(c) } @classes.uniq! self end