From e601babb9266258f55580fcf2a91ea5ca4c5d368 Mon Sep 17 00:00:00 2001 From: Luke Kanies Date: Mon, 15 Dec 2008 11:03:21 -0600 Subject: Supporting a nil expirer on cacher objects. This works for those classes like Puppet::Type that use an expirer that isn't always present (they use their catalog as an expirer). The behaviour is now that if there is no expirer, expire() is a no-op and all data is considered expired all the time, so it's always fresh. Signed-off-by: Luke Kanies --- lib/puppet/util/cacher.rb | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) (limited to 'lib') diff --git a/lib/puppet/util/cacher.rb b/lib/puppet/util/cacher.rb index c1b3bad7a..a9fb890c6 100644 --- a/lib/puppet/util/cacher.rb +++ b/lib/puppet/util/cacher.rb @@ -59,7 +59,14 @@ module Puppet::Util::Cacher # Methods that get added to instances. module InstanceMethods def expire - expirer.expire + # Only expire if we have an expirer. This is + # mostly so that we can comfortably handle cases + # like Puppet::Type instances, which use their + # catalog as their expirer, and they often don't + # have a catalog. + if e = expirer + e.expire + end end def expirer -- cgit