Module: ForemanCustomParameters::AddDefaults

Extended by:
ActiveSupport::Concern
Defined in:
app/models/foreman_custom_parameters/add_defaults.rb

Instance Method Summary collapse

Instance Method Details

#add_default_custom_parametersObject



10
11
12
13
14
15
16
17
18
# File 'app/models/foreman_custom_parameters/add_defaults.rb', line 10

def add_default_custom_parameters
  if SETTINGS[:custom_parameters][parameters_type].present?
    unless self.send(parameters_method).map(&:name).any? { |name| SETTINGS[:custom_parameters][parameters_type].include?(name) }
      SETTINGS[:custom_parameters][parameters_type].each do |k, v|
        self.send(parameters_method).build(:name => k, :value => v)
      end
    end
  end
end

#parameters_methodObject



24
25
26
27
28
29
30
31
32
33
34
# File 'app/models/foreman_custom_parameters/add_defaults.rb', line 24

def parameters_method
  if self.kind_of?(Host::Base)
    :host_parameters
  elsif self.kind_of?(Hostgroup)
    :group_parameters
  elsif self.kind_of?(Operatingsystem)
    :os_parameters
  elsif self.kind_of?(Domain)
    :domain_parameters
  end
end

#parameters_typeObject



20
21
22
# File 'app/models/foreman_custom_parameters/add_defaults.rb', line 20

def parameters_type
  self.kind_of?(Host::Base) ? 'hosts' : self.class.name.downcase.pluralize
end