Class: Freightrain::Registry
- Inherits:
-
Object
- Object
- Freightrain::Registry
- Defined in:
- lib/freightrain/ioc/registry.rb
Instance Method Summary collapse
-
#initialize ⇒ Registry
constructor
A new instance of Registry.
- #register(klass, options) ⇒ Object
- #resolve(class_name) ⇒ Object
Constructor Details
#initialize ⇒ Registry
Returns a new instance of Registry.
6 7 8 9 |
# File 'lib/freightrain/ioc/registry.rb', line 6 def initialize @classes = {} @cache = {} end |
Instance Method Details
#register(klass, options) ⇒ Object
11 12 13 14 |
# File 'lib/freightrain/ioc/registry.rb', line 11 def register(klass, ) @classes[klass.name.to_convention_sym] = klass @cache[klass.name.to_convention_sym] = klass.new if [:model] == :singleton end |
#resolve(class_name) ⇒ Object
16 17 18 19 |
# File 'lib/freightrain/ioc/registry.rb', line 16 def resolve(class_name) raise "Could not instance class #{class_name}" unless @classes.has_key?(class_name) return @cache[class_name] || @classes[class_name].new end |