class ChefFS::FileSystem::AclEntry
Constants
- PERMISSIONS
Public Instance Methods
api_path()
click to toggle source
# File lib/chef_fs/file_system/acl_entry.rb, line 29 def api_path "#{super}/_acl" end
delete(recurse)
click to toggle source
# File lib/chef_fs/file_system/acl_entry.rb, line 33 def delete(recurse) raise ChefFS::FileSystem::OperationNotAllowedError.new(:delete, self, e), "ACLs cannot be deleted." end
write(file_contents)
click to toggle source
# File lib/chef_fs/file_system/acl_entry.rb, line 37 def write(file_contents) # ACL writes are fun. acls = data_handler.normalize(JSON.parse(file_contents, :create_additions => false), self) PERMISSIONS.each do |permission| begin rest.put_rest("#{api_path}/#{permission}", { permission => acls[permission] }) rescue Timeout::Error => e raise ChefFS::FileSystem::OperationFailedError.new(:write, self, e), "Timeout writing: #{e}" rescue Net::HTTPServerException => e if e.response.code == "404" raise ChefFS::FileSystem::NotFoundError.new(self, e) else raise ChefFS::FileSystem::OperationFailedError.new(:write, self, e), "HTTP error writing: #{e}" end end end end