Class: ForemanOpentofu::ProviderTypeManager

Inherits:
Object
  • Object
show all
Defined in:
app/services/foreman_opentofu/provider_type_manager.rb

Class Attribute Summary collapse

Class Method Summary collapse

Class Attribute Details

.defined_provider_typesObject (readonly)

Returns the value of attribute defined_provider_types.



7
8
9
# File 'app/services/foreman_opentofu/provider_type_manager.rb', line 7

def defined_provider_types
  @defined_provider_types
end

Class Method Details

.enabled_provider_type_namesObject



27
28
29
# File 'app/services/foreman_opentofu/provider_type_manager.rb', line 27

def enabled_provider_type_names
  @defined_provider_types.values.map(&:name)
end

.enabled_provider_typesObject



31
32
33
# File 'app/services/foreman_opentofu/provider_type_manager.rb', line 31

def enabled_provider_types
  @defined_provider_types.values
end

.find(provider_type) ⇒ Object



19
20
21
# File 'app/services/foreman_opentofu/provider_type_manager.rb', line 19

def find(provider_type)
  find_defined(provider_type)
end

.find_defined(provider_type) ⇒ Object



23
24
25
# File 'app/services/foreman_opentofu/provider_type_manager.rb', line 23

def find_defined(provider_type)
  @defined_provider_types[provider_type.to_s]
end

.register(id, &block) ⇒ Object

Plugin constructor



10
11
12
13
14
15
16
17
# File 'app/services/foreman_opentofu/provider_type_manager.rb', line 10

def register(id, &block)
  defined_prov_type = find_defined(id)
  return if defined_prov_type.present?

  defined_prov_type = ::ForemanOpentofu::ProviderType.new(id)
  defined_prov_type.instance_eval(&block) if block_given?
  @defined_provider_types[id.to_s] = defined_prov_type
end