module Dependor::AutoInject
Public Class Methods
included(klass)
click to toggle source
# File lib/dependor/auto_inject.rb, line 13 def self.included(klass) klass.extend ClassMethods end
Public Instance Methods
inject(klass, overrides = {})
click to toggle source
# File lib/dependor/auto_inject.rb, line 25 def inject(klass, overrides = {}) injector = Dependor::CustomizedInjector.new(auto_injector, overrides) instantiator = Dependor::Instantiator.new(injector, dependency_names) instantiator.instantiate(klass) end
method_missing(name, *args, &block)
click to toggle source
# File lib/dependor/auto_inject.rb, line 17 def method_missing(name, *args, &block) auto_injector.get_by_class_name(name) end
respond_to_missing?(name, include_private = false)
click to toggle source
# File lib/dependor/auto_inject.rb, line 21 def respond_to_missing?(name, include_private = false) auto_injector.class_exists?(name) end
Private Instance Methods
auto_injector()
click to toggle source
# File lib/dependor/auto_inject.rb, line 33 def auto_injector @auto_injector ||= Dependor::AutoInjector.new(self, dependency_names, self.class.search_modules) end
dependency_names()
click to toggle source
# File lib/dependor/auto_inject.rb, line 37 def dependency_names @dependency_names ||= Dependor::DependencyNamesCache.new end