diff options
Diffstat (limited to 'lib')
-rw-r--r-- | lib/puppet/indirector/file.rb | 13 | ||||
-rw-r--r-- | lib/puppet/indirector/indirection.rb | 2 | ||||
-rw-r--r-- | lib/puppet/indirector/memory.rb | 6 |
3 files changed, 13 insertions, 8 deletions
diff --git a/lib/puppet/indirector/file.rb b/lib/puppet/indirector/file.rb index c2d36c46b..8c984154b 100644 --- a/lib/puppet/indirector/file.rb +++ b/lib/puppet/indirector/file.rb @@ -2,21 +2,23 @@ require 'puppet/indirector/terminus' # An empty terminus type, meant to just return empty objects. class Puppet::Indirector::File < Puppet::Indirector::Terminus - def destroy(file) + # Remove files on disk. + def destroy(name) if respond_to?(:path) - path = path(file.name) + path = path(name) else - path = file.path + path = name end - raise Puppet::Error.new("File %s does not exist; cannot destroy" % [file]) unless File.exist?(path) + raise Puppet::Error.new("File %s does not exist; cannot destroy" % [name]) unless File.exist?(path) begin File.unlink(path) rescue => detail - raise Puppet::Error, "Could not remove %s: %s" % [file, detail] + raise Puppet::Error, "Could not remove %s: %s" % [name, detail] end end + # Return a model instance for a given file on disk. def find(name) if respond_to?(:path) path = path(name) @@ -35,6 +37,7 @@ class Puppet::Indirector::File < Puppet::Indirector::Terminus return model.new(content) end + # Save a new file to disk. def save(file) if respond_to?(:path) path = path(file.name) diff --git a/lib/puppet/indirector/indirection.rb b/lib/puppet/indirector/indirection.rb index 91cc42b17..6f1497319 100644 --- a/lib/puppet/indirector/indirection.rb +++ b/lib/puppet/indirector/indirection.rb @@ -211,6 +211,7 @@ class Puppet::Indirector::Indirection return nil end + # Remove something via the terminus. def destroy(key, *args) check_authorization(:destroy, terminus_class, ([key] + args)) @@ -223,6 +224,7 @@ class Puppet::Indirector::Indirection nil end + # Search for more than one instance. Should always return an array. def search(*args) check_authorization(:search, terminus_class, args) diff --git a/lib/puppet/indirector/memory.rb b/lib/puppet/indirector/memory.rb index 5bfcec95d..b97e6ffb6 100644 --- a/lib/puppet/indirector/memory.rb +++ b/lib/puppet/indirector/memory.rb @@ -6,9 +6,9 @@ class Puppet::Indirector::Memory < Puppet::Indirector::Terminus @instances = {} end - def destroy(instance) - raise ArgumentError.new("Could not find %s to destroy" % instance) unless @instances.include?(instance.name) - @instances.delete(instance.name) + def destroy(name) + raise ArgumentError.new("Could not find %s to destroy" % name) unless @instances.include?(name) + @instances.delete(name) end def find(name) |