diff options
author | Pieter van de Bruggen <pieter@puppetlabs.com> | 2011-03-30 15:27:59 -0700 |
---|---|---|
committer | Pieter van de Bruggen <pieter@puppetlabs.com> | 2011-03-30 15:28:23 -0700 |
commit | 505a48c0d316aad7ff26ae2c0ade294707ca081e (patch) | |
tree | 2a52b6408f95b858f889c3749e9b55caa95b88a9 /lib/puppet | |
parent | 23248285648b39ca771fc93988420d93d80506e5 (diff) | |
download | puppet-505a48c0d316aad7ff26ae2c0ade294707ca081e.tar.gz puppet-505a48c0d316aad7ff26ae2c0ade294707ca081e.tar.xz puppet-505a48c0d316aad7ff26ae2c0ade294707ca081e.zip |
(Maint) Bugfix for failing requires inside Puppet Strings.
Paired-With: Matt Robinson
Diffstat (limited to 'lib/puppet')
-rw-r--r-- | lib/puppet/string/string_collection.rb | 13 |
1 files changed, 7 insertions, 6 deletions
diff --git a/lib/puppet/string/string_collection.rb b/lib/puppet/string/string_collection.rb index 45a192703..f8fa38b9c 100644 --- a/lib/puppet/string/string_collection.rb +++ b/lib/puppet/string/string_collection.rb @@ -41,20 +41,21 @@ module Puppet::String::StringCollection loaded = cache.keys - files = ["puppet/string/#{name}"] + module_names = ["puppet/string/#{name}"] unless version == :current - files << "#{name}@#{version}/puppet/string/#{name}" + module_names << "#{name}@#{version}/puppet/string/#{name}" end - files.each do |file| + module_names.each do |module_name| begin - require file - if version == :current || !file.include?('@') + require module_name + if version == :current || !module_name.include?('@') loaded = (cache.keys - loaded).first cache[:current] = cache[loaded] unless loaded.nil? end return true if cache.has_key?(version) - rescue LoadError + rescue LoadError => e + raise unless e.message =~ /-- #{module_name}$/ # pass end end |