Class: Avm::Registry::Base
- Inherits:
-
Object
- Object
- Avm::Registry::Base
- Defined in:
- lib/avm/registry/base.rb
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 16 |
# File 'lib/avm/registry/base.rb', line 12 def detect(*registered_initialize_args) detect_optional(*registered_initialize_args) || raise("No registered module valid for #{registered_initialize_args}" \ " (Module suffix: #{module_suffix}, Available: #{registered_modules.join(', ')})") end |
#detect_optional(*registered_initialize_args) ⇒ Object
18 19 20 21 |
# File 'lib/avm/registry/base.rb', line 18 def detect_optional(*registered_initialize_args) registered_modules.reverse.lazy.map { |klass| klass.new(*registered_initialize_args) } .find(&:valid?) end |
#provider_module_suffix ⇒ Object
23 24 25 |
# File 'lib/avm/registry/base.rb', line 23 def provider_module_suffix "#{module_suffix}::Provider" end |
#single_module_suffix ⇒ Object
27 28 29 |
# File 'lib/avm/registry/base.rb', line 27 def single_module_suffix "#{module_suffix}::Base" end |
#to_s ⇒ Object
31 32 33 |
# File 'lib/avm/registry/base.rb', line 31 def to_s "#{self.class}[#{module_suffix}]" end |
#valid_registered_module?(a_module) ⇒ Boolean
35 36 37 |
# File 'lib/avm/registry/base.rb', line 35 def valid_registered_module?(a_module) a_module.is_a?(::Class) && !a_module.abstract? end |