diff options
author | Paul Berry <paul@puppetlabs.com> | 2011-02-01 16:13:49 -0800 |
---|---|---|
committer | Paul Berry <paul@puppetlabs.com> | 2011-02-01 16:13:49 -0800 |
commit | 2d4fb3a609f30d3f974b169ff9428672dd96ddd0 (patch) | |
tree | fb8f6f7c4be40bc80a87464c3c367e6d55966f26 | |
parent | 90f84fd613c6128ecc786fd40269f043474df1c5 (diff) | |
parent | 70630b903b747db0148cd972b64e5162b8f459cc (diff) | |
download | puppet-2d4fb3a609f30d3f974b169ff9428672dd96ddd0.tar.gz puppet-2d4fb3a609f30d3f974b169ff9428672dd96ddd0.tar.xz puppet-2d4fb3a609f30d3f974b169ff9428672dd96ddd0.zip |
Merge branch 'ticket/2.6.next/3165' into 2.6.next
* ticket/2.6.next/3165:
Fix #3165 Ralsh (bin/puppet resource) can't manage files
-rw-r--r-- | lib/puppet/indirector/resource/ral.rb | 9 | ||||
-rw-r--r-- | lib/puppet/type/file.rb | 21 |
2 files changed, 9 insertions, 21 deletions
diff --git a/lib/puppet/indirector/resource/ral.rb b/lib/puppet/indirector/resource/ral.rb index 1c2ab14ae..bc41d14ae 100644 --- a/lib/puppet/indirector/resource/ral.rb +++ b/lib/puppet/indirector/resource/ral.rb @@ -34,12 +34,17 @@ class Puppet::Resource::Ral < Puppet::Indirector::Code private + # {type,resource}_name: the resource name may contain slashes: + # File["/etc/hosts"]. To handle, assume the type name does + # _not_ have any slashes in it, and split only on the first. + def type_name( request ) - request.key.split('/')[0] + request.key.split('/', 2)[0] end def resource_name( request ) - request.key.split('/')[1] + name = request.key.split('/', 2)[1] + name unless name == "" end def type( request ) diff --git a/lib/puppet/type/file.rb b/lib/puppet/type/file.rb index c66a53c5e..cbb51bbed 100644 --- a/lib/puppet/type/file.rb +++ b/lib/puppet/type/file.rb @@ -297,25 +297,8 @@ Puppet::Type.newtype(:file) do super(path.gsub(/\/+/, '/').sub(/\/$/, '')) end - # List files, but only one level deep. - def self.instances(base = "/") - return [] unless FileTest.directory?(base) - - files = [] - Dir.entries(base).reject { |e| - e == "." or e == ".." - }.each do |name| - path = File.join(base, name) - if obj = self[path] - obj[:audit] = :all - files << obj - else - files << self.new( - :name => path, :audit => :all - ) - end - end - files + def self.instances(base = '/') + return self.new(:name => base, :recurse => true, :recurselimit => 1, :audit => :all).recurse_local.values end @depthfirst = false |