class Chef::ChefFS::FileSystem::ChefServer::DataBagDir
Public Class Methods
new(name, parent, exists = nil)
click to toggle source
Calls superclass method
# File lib/chef/chef_fs/file_system/chef_server/data_bag_dir.rb, line 29 def initialize(name, parent, exists = nil) super(name, parent, nil, Chef::ChefFS::DataHandler::DataBagItemDataHandler.new) @exists = nil end
Public Instance Methods
delete(recurse)
click to toggle source
# File lib/chef/chef_fs/file_system/chef_server/data_bag_dir.rb, line 50 def delete(recurse) if !recurse raise NotFoundError.new(self) if !exists? raise MustDeleteRecursivelyError.new(self, "#{path_for_printing} must be deleted recursively") end begin rest.delete(api_path) rescue Timeout::Error => e raise Chef::ChefFS::FileSystem::OperationFailedError.new(:delete, self, e, "Timeout deleting: #{e}") rescue Net::HTTPClientException => e if e.response.code == "404" raise Chef::ChefFS::FileSystem::NotFoundError.new(self, e) else raise Chef::ChefFS::FileSystem::OperationFailedError.new(:delete, self, e, "HTTP error deleting: #{e}") end end end
dir?()
click to toggle source
# File lib/chef/chef_fs/file_system/chef_server/data_bag_dir.rb, line 34 def dir? exists? end
exists?()
click to toggle source
# File lib/chef/chef_fs/file_system/chef_server/data_bag_dir.rb, line 43 def exists? if @exists.nil? @exists = parent.children.any? { |child| child.name == name } end @exists end
make_child_entry(name, exists = nil)
click to toggle source
# File lib/chef/chef_fs/file_system/chef_server/data_bag_dir.rb, line 68 def make_child_entry(name, exists = nil) @children.find { |child| child.name == name } if @children DataBagEntry.new(name, self, exists) end
read()
click to toggle source
# File lib/chef/chef_fs/file_system/chef_server/data_bag_dir.rb, line 38 def read # This will only be called if dir? is false, which means exists? is false. raise Chef::ChefFS::FileSystem::NotFoundError.new(self) end