Class: Avm::Registry::FromGems
- Inherits:
-
Object
- Object
- Avm::Registry::FromGems
show all
- Defined in:
- lib/avm/registry/from_gems.rb
Instance Method Summary
collapse
Instance Method Details
#available ⇒ Object
10
11
12
|
# File 'lib/avm/registry/from_gems.rb', line 10
def available
registered_modules.reject(&:abstract?)
end
|
#class_detect(_klass, _detect_args) ⇒ Object
14
15
16
|
# File 'lib/avm/registry/from_gems.rb', line 14
def class_detect(_klass, _detect_args)
raise_abstract_method __method__
end
|
#detect(*registered_initialize_args) ⇒ Object
18
19
20
21
|
# File 'lib/avm/registry/from_gems.rb', line 18
def detect(*registered_initialize_args)
detect_optional(*registered_initialize_args) ||
raise_not_found(*registered_initialize_args)
end
|
#detect_optional(*registered_initialize_args) ⇒ Object
23
24
25
26
|
# File 'lib/avm/registry/from_gems.rb', line 23
def detect_optional(*registered_initialize_args)
available.reverse.lazy
.map { |klass| class_detect(klass, registered_initialize_args) }.find(&:present?)
end
|
#provider_module_suffix ⇒ Object
28
29
30
|
# File 'lib/avm/registry/from_gems.rb', line 28
def provider_module_suffix
"#{module_suffix}::Provider"
end
|
#single_module_suffix ⇒ Object
32
33
34
|
# File 'lib/avm/registry/from_gems.rb', line 32
def single_module_suffix
"#{module_suffix}::Base"
end
|
#to_s ⇒ Object
36
37
38
|
# File 'lib/avm/registry/from_gems.rb', line 36
def to_s
"#{self.class}[#{module_suffix}]"
end
|
#valid_registered_module?(a_module) ⇒ Boolean
40
41
42
|
# File 'lib/avm/registry/from_gems.rb', line 40
def valid_registered_module?(a_module)
a_module.is_a?(::Class) && !a_module.abstract?
end
|