Try to avoid reserved site keyword
[mirror/dsa-puppet.git] / modules / puppetmaster / lib / puppet / parser / functions / has_role.rb
1 module Puppet::Parser::Functions
2   newfunction(:has_role, :type => :rvalue) do |args|
3       role = args[0]
4       roles = lookupvar('deprecated::roles')
5       fqdn = lookupvar('fqdn')
6       if not roles.include?(role)
7         err "Failed to look up missing role #{role}"
8         return false
9       end
10       case roles[role]
11         when Hash then roles[role].include?(fqdn)
12         else roles[role].map{ |k|
13                case k
14                  when Hash then k.keys.first
15                  else k
16                end
17              }.include?(fqdn)
18       end
19   end
20 end