Class: Dependency::Resolver
- Inherits:
-
Object
- Object
- Dependency::Resolver
- Defined in:
- lib/strong_ruby/dependency/resolver.rb
Constant Summary collapse
- @@dependencies =
{}
Class Method Summary collapse
- .bind(class_name, object_constructor, is_singleton) ⇒ Object
- .clear_bindings ⇒ Object
- .dependencies ⇒ Object
- .resolve(class_name) ⇒ Object
Class Method Details
.bind(class_name, object_constructor, is_singleton) ⇒ Object
6 7 8 9 10 11 |
# File 'lib/strong_ruby/dependency/resolver.rb', line 6 def self.bind(class_name, object_constructor, is_singleton) if dependencies[class_name] raise StandardError.new("Already has binding of class `#{class_name}`") end dependencies[class_name] = ResolverBinding.new(object_constructor, is_singleton) end |
.clear_bindings ⇒ Object
20 21 22 |
# File 'lib/strong_ruby/dependency/resolver.rb', line 20 def self.clear_bindings @@dependencies = {} end |
.dependencies ⇒ Object
4 |
# File 'lib/strong_ruby/dependency/resolver.rb', line 4 def self.dependencies; @@dependencies; end |
.resolve(class_name) ⇒ Object
13 14 15 16 17 18 |
# File 'lib/strong_ruby/dependency/resolver.rb', line 13 def self.resolve(class_name) unless dependencies[class_name] raise StandardError.new("Can't find bind for class name `#{class_name}`") end dependencies[class_name].construct end |