diff options
Diffstat (limited to 'lib/puppet')
-rw-r--r-- | lib/puppet/file_serving/configuration.rb | 2 | ||||
-rw-r--r-- | lib/puppet/util/warnings.rb | 26 |
2 files changed, 18 insertions, 10 deletions
diff --git a/lib/puppet/file_serving/configuration.rb b/lib/puppet/file_serving/configuration.rb index a247f53dd..ac54a7a8a 100644 --- a/lib/puppet/file_serving/configuration.rb +++ b/lib/puppet/file_serving/configuration.rb @@ -41,7 +41,7 @@ class Puppet::FileServing::Configuration end if environment.module(mount_name) - Puppet::Util::Warnings.warnonce "DEPRECATION NOTICE: Found module '%s' without using the 'modules' mount; please prefix path with 'modules/'" % mount_name + Puppet::Util::Warnings.notice_once "DEPRECATION NOTICE: Files found in modules without specifying 'modules' in file path will be deprecated in the next major release. Please fix module '%s' when no 0.24.x clients are present" % mount_name return mounts["modules"] end diff --git a/lib/puppet/util/warnings.rb b/lib/puppet/util/warnings.rb index 97c96b74c..a63d91359 100644 --- a/lib/puppet/util/warnings.rb +++ b/lib/puppet/util/warnings.rb @@ -2,20 +2,28 @@ module Puppet::Util::Warnings module_function + def notice_once(msg) + Puppet::Util::Warnings.maybe_log(msg, self.class) { Puppet.notice msg } + end + + def warnonce(msg) - $stampwarnings ||= {} - $stampwarnings[self.class] ||= [] - unless $stampwarnings[self.class].include? msg - Puppet.warning msg - $stampwarnings[self.class] << msg - end + Puppet::Util::Warnings.maybe_log(msg, self.class) { Puppet.warning msg } + end + def clear_warnings() + @stampwarnings = {} return nil end - def clear_warnings() - $stampwarnings = {} + protected + + def self.maybe_log(message, klass) + @stampwarnings ||= {} + @stampwarnings[klass] ||= [] + return nil if @stampwarnings[klass].include? message + yield + @stampwarnings[klass] << message return nil end end - |