Class: Nextcloud::Ruby::Directory
- Inherits:
-
Object
- Object
- Nextcloud::Ruby::Directory
- Defined in:
- lib/nextcloud/ruby/directory.rb
Constant Summary collapse
- FIND_XML =
'<?xml version="1.0"?> <d:propfind xmlns:d="DAV:" xmlns:oc="http://owncloud.org/ns" xmlns:nc="http://nextcloud.org/ns"> <d:prop> <oc:fileid /> </d:prop> </d:propfind>'.freeze
Class Method Summary collapse
- .create(path) ⇒ Object
- .delete(path) ⇒ Object
- .find(path) ⇒ Object
- .set_tag(directory, tag) ⇒ Object
Class Method Details
.create(path) ⇒ Object
15 16 17 18 19 |
# File 'lib/nextcloud/ruby/directory.rb', line 15 def create(path) uri = Addressable::URI .parse("files/#{Nextcloud::Ruby.configuration.username}/#{path}") Api.request(:mkcol, uri) end |
.delete(path) ⇒ Object
21 22 23 24 25 |
# File 'lib/nextcloud/ruby/directory.rb', line 21 def delete(path) uri = Addressable::URI .parse("files/#{Nextcloud::Ruby.configuration.username}/#{path}") Api.request(:delete, uri) end |
.find(path) ⇒ Object
27 28 29 30 31 32 |
# File 'lib/nextcloud/ruby/directory.rb', line 27 def find(path) uri = Addressable::URI .parse("files/#{Nextcloud::Ruby.configuration.username}/#{path}") response = Api.request(:propfind, uri, FIND_XML) response.ok? ? parse_directory(response, path) : nil end |
.set_tag(directory, tag) ⇒ Object
34 35 36 37 38 39 40 |
# File 'lib/nextcloud/ruby/directory.rb', line 34 def set_tag(directory, tag) return Response.new('', 400) unless directory && tag uri = Addressable::URI .join(Nextcloud::Ruby.configuration.dav_url.path.to_s, "systemtags-relations/files/#{directory.id}/#{tag.id}") Api.request(:put, uri) end |