puppet-horizon/lib/puppet/functions/validate_available_themes.rb

16 lines
479 B
Ruby

Puppet::Functions.create_function(:validate_available_themes) do
def validate_available_themes(themes)
req_keys = Set.new(['name', 'label', 'path'])
themes.each do |theme|
if theme.keys.to_set != req_keys
if theme.keys.to_set.subset?(req_keys)
raise Puppet::Error, "Some of the required keys (name, label and path) are missing"
else
raise Puppet::Error, "Unsupported keys are detected"
end
end
end
end
end