diff options
Diffstat (limited to 'lib/puppet/parser/functions/private.rb')
-rw-r--r-- | lib/puppet/parser/functions/private.rb | 24 |
1 files changed, 6 insertions, 18 deletions
diff --git a/lib/puppet/parser/functions/private.rb b/lib/puppet/parser/functions/private.rb index 60210d3..3b00ba1 100644 --- a/lib/puppet/parser/functions/private.rb +++ b/lib/puppet/parser/functions/private.rb @@ -4,26 +4,14 @@ module Puppet::Parser::Functions newfunction(:private, :doc => <<-'EOS' - Sets the current class or definition as private. + DEPRECATED: Sets the current class or definition as private. Calling the class or definition from outside the current module will fail. - EOS + EOS ) do |args| - - raise(Puppet::ParseError, "private(): Wrong number of arguments "+ - "given (#{args.size}}) for 0 or 1)") if args.size > 1 - - scope = self - if scope.lookupvar('module_name') != scope.lookupvar('caller_module_name') - message = nil - if args[0] and args[0].is_a? String - message = args[0] - else - manifest_name = scope.source.name - manifest_type = scope.source.type - message = (manifest_type.to_s == 'hostclass') ? 'Class' : 'Definition' - message += " #{manifest_name} is private" - end - raise(Puppet::ParseError, message) + warning("private() DEPRECATED: This function will cease to function on Puppet 4; please use assert_private() before upgrading to puppet 4 for backwards-compatibility, or migrate to the new parser's typing system.") + if !Puppet::Parser::Functions.autoloader.loaded?(:assert_private) + Puppet::Parser::Functions.autoloader.load(:assert_private) end + function_assert_private([(args[0] unless args.size < 1)]) end end |