projects
/
mirror
/
dsa-puppet.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Try to avoid reserved site keyword
[mirror/dsa-puppet.git]
/
modules
/
puppetmaster
/
lib
/
puppet
/
parser
/
functions
/
has_role.rb
diff --git
a/modules/puppetmaster/lib/puppet/parser/functions/has_role.rb
b/modules/puppetmaster/lib/puppet/parser/functions/has_role.rb
index
ecb3cab
..
eef31b9
100644
(file)
--- a/
modules/puppetmaster/lib/puppet/parser/functions/has_role.rb
+++ b/
modules/puppetmaster/lib/puppet/parser/functions/has_role.rb
@@
-1,12
+1,20
@@
module Puppet::Parser::Functions
newfunction(:has_role, :type => :rvalue) do |args|
module Puppet::Parser::Functions
newfunction(:has_role, :type => :rvalue) do |args|
- role = args
.shift
- roles = lookupvar('
site
::roles')
+ role = args
[0]
+ roles = lookupvar('
deprecated
::roles')
fqdn = lookupvar('fqdn')
if not roles.include?(role)
err "Failed to look up missing role #{role}"
return false
end
fqdn = lookupvar('fqdn')
if not roles.include?(role)
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
end