Class: Avm::Registry::Base
- Inherits:
-
Object
- Object
- Avm::Registry::Base
- Defined in:
- lib/avm/registry/base.rb
Direct Known Subclasses
Instance Method Summary collapse
- #detect(*registered_initialize_args) ⇒ Object
- #detect_optional(*registered_initialize_args) ⇒ Object
- #provider_module_suffix ⇒ Object
- #single_module_suffix ⇒ Object
- #to_s ⇒ Object
- #valid_registered_module?(a_module) ⇒ Boolean
Instance Method Details
#detect(*registered_initialize_args) ⇒ Object
12 13 14 15 |
# File 'lib/avm/registry/base.rb', line 12 def detect(*registered_initialize_args) detect_optional(*registered_initialize_args) || raise_not_found(*registered_initialize_args) end |
#detect_optional(*registered_initialize_args) ⇒ Object
17 18 19 20 |
# File 'lib/avm/registry/base.rb', line 17 def detect_optional(*registered_initialize_args) registered_modules.reverse.lazy.map { |klass| klass.new(*registered_initialize_args) } .find(&:valid?) end |
#provider_module_suffix ⇒ Object
22 23 24 |
# File 'lib/avm/registry/base.rb', line 22 def provider_module_suffix "#{module_suffix}::Provider" end |
#single_module_suffix ⇒ Object
26 27 28 |
# File 'lib/avm/registry/base.rb', line 26 def single_module_suffix "#{module_suffix}::Base" end |
#to_s ⇒ Object
30 31 32 |
# File 'lib/avm/registry/base.rb', line 30 def to_s "#{self.class}[#{module_suffix}]" end |
#valid_registered_module?(a_module) ⇒ Boolean
34 35 36 |
# File 'lib/avm/registry/base.rb', line 34 def valid_registered_module?(a_module) a_module.is_a?(::Class) && !a_module.abstract? end |