X-Git-Url: https://git.adam-barratt.org.uk/?a=blobdiff_plain;f=modules%2Fpuppetmaster%2Flib%2Fpuppet%2Fparser%2Ffunctions%2Fhas_role.rb;fp=modules%2Fpuppetmaster%2Flib%2Fpuppet%2Fparser%2Ffunctions%2Fhas_role.rb;h=427440fa1c6158b532b93464446f504cdf382147;hb=76ca91bce24ecbcbcc4e62a37aa06fd0fb9f96c7;hp=c8b537f796ea85c62d7603b6cc76653db38605e4;hpb=46cee04ab06b23ab6e9e4baba655cf470d10cfc4;p=mirror%2Fdsa-puppet.git diff --git a/modules/puppetmaster/lib/puppet/parser/functions/has_role.rb b/modules/puppetmaster/lib/puppet/parser/functions/has_role.rb index c8b537f79..427440fa1 100644 --- a/modules/puppetmaster/lib/puppet/parser/functions/has_role.rb +++ b/modules/puppetmaster/lib/puppet/parser/functions/has_role.rb @@ -7,6 +7,14 @@ module Puppet::Parser::Functions err "Failed to look up missing role #{role}" return false end - return roles[role].include?(fqdn) - end + case roles[role] + when Hash then roles[role].include?(fqdn) + else roles[role].map{ |k| + case k + when Hash then k.keys.first + else k + end + }.include?(fqdn) + end + end end