foreman/app/services/classification/class_param.rb @ 6b4b489f
3a96ba00 | Amos Benari | module Classification
|
|
class ClassParam < Base
|
|||
def enc
|
|||
key_hash = hashed_class_parameters
|
|||
values = values_hash
|
|||
klasses = {}
|
|||
classes.each do |klass|
|
|||
klasses[klass.name] ||= {}
|
|||
if key_hash[klass.id]
|
|||
key_hash[klass.id].each do |key|
|
|||
8e53b7c9 | Ori Rabin | key_value = value_of_key(key, values)
|
|
klasses[klass.name][key.to_s] = key_value unless key_value.nil?
|
|||
end
|
|||
111b0459 | Daniel Lobato | klasses[klass.name] = nil if klasses[klass.name] == {}
|
|
3a96ba00 | Amos Benari | else
|
|
klasses[klass.name] = nil
|
|||
end
|
|||
end
|
|||
klasses
|
|||
end
|
|||
protected
|
|||
abd8f1d1 | Daniel Lobato | ||
3a96ba00 | Amos Benari | def class_parameters
|
|
6b4b489f | Ori Rabin | @keys ||= PuppetclassLookupKey.includes(:environment_classes).parameters_for_class(puppetclass_ids, environment_id)
|
|
3a96ba00 | Amos Benari | end
|
|
private
|
|||
abd8f1d1 | Daniel Lobato | ||
3a96ba00 | Amos Benari | def hashed_class_parameters
|
|
h = {}
|
|||
class_parameters.each do |key|
|
|||
klass_id = key.environment_classes.first.puppetclass_id
|
|||
h[klass_id] ||= []
|
|||
h[klass_id] << key
|
|||
end
|
|||
h
|
|||
end
|
|||
end
|
|||
end
|