Class: Avm::Registry::Base

Inherits:
Object
  • Object
show all
Defined in:
lib/avm/registry/base.rb

Direct Known Subclasses

WithPath

Instance Method Summary collapse

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_suffixObject



22
23
24
# File 'lib/avm/registry/base.rb', line 22

def provider_module_suffix
  "#{module_suffix}::Provider"
end

#single_module_suffixObject



26
27
28
# File 'lib/avm/registry/base.rb', line 26

def single_module_suffix
  "#{module_suffix}::Base"
end

#to_sObject



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

Returns:

  • (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