diff options
author | Luke Kanies <luke@madstop.com> | 2009-04-02 18:56:53 -0500 |
---|---|---|
committer | Luke Kanies <luke@madstop.com> | 2009-04-02 18:56:53 -0500 |
commit | 6e79cc00965a50c44f215fd1e553281cfd2b87c9 (patch) | |
tree | 56c496df9ad6ab66dfb16993910eb5ff1c34d065 /lib/puppet/file_collection.rb | |
parent | 62dad7a5f87f8d6285650ab1b727819db27cf2a7 (diff) | |
parent | c62c19370bfba881819c1a3d9da2f8e6fb52e5d9 (diff) | |
download | puppet-6e79cc00965a50c44f215fd1e553281cfd2b87c9.tar.gz puppet-6e79cc00965a50c44f215fd1e553281cfd2b87c9.tar.xz puppet-6e79cc00965a50c44f215fd1e553281cfd2b87c9.zip |
Merge branch '0.24.x'
Conflicts:
bin/ralsh
lib/puppet/executables/client/certhandler.rb
lib/puppet/parser/functions/versioncmp.rb
lib/puppet/parser/resource/reference.rb
lib/puppet/provider/augeas/augeas.rb
lib/puppet/provider/nameservice/directoryservice.rb
lib/puppet/provider/ssh_authorized_key/parsed.rb
lib/puppet/type.rb
lib/puppet/type/file/checksum.rb
spec/integration/defaults.rb
spec/integration/transaction/report.rb
spec/unit/executables/client/certhandler.rb
spec/unit/indirector/ssl_rsa/file.rb
spec/unit/node/catalog.rb
spec/unit/provider/augeas/augeas.rb
spec/unit/rails.rb
spec/unit/type/ssh_authorized_key.rb
spec/unit/type/tidy.rb
test/executables/filebucket.rb
test/executables/puppetbin.rb
Diffstat (limited to 'lib/puppet/file_collection.rb')
-rw-r--r-- | lib/puppet/file_collection.rb | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/lib/puppet/file_collection.rb b/lib/puppet/file_collection.rb new file mode 100644 index 000000000..7db2600c0 --- /dev/null +++ b/lib/puppet/file_collection.rb @@ -0,0 +1,30 @@ +# A simple way to turn file names into singletons, +# so we don't have tons of copies of each file path around. +class Puppet::FileCollection + require 'puppet/file_collection/lookup' + + def self.collection + @collection + end + + def initialize + @paths = [] + @inverse = {} + end + + def index(path) + if i = @inverse[path] + return i + else + @paths << path + i = @inverse[path] = @paths.length - 1 + return i + end + end + + def path(index) + @paths[index] + end + + @collection = self.new +end |