Project

General

Profile

Download (1008 Bytes) Statistics
| Branch: | Tag: | Revision:
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