class Nextcloud::Ruby::Directory
Constants
- FIND_XML
Public Class Methods
create(path)
click to toggle source
# 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)
click to toggle source
# 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)
click to toggle source
# 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)
click to toggle source
# 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
Private Class Methods
parse_directory(response, path)
click to toggle source
# File lib/nextcloud/ruby/directory.rb, line 44 def parse_directory(response, path) id = response.body.xpath('//oc:fileid')[0].text.to_i Nextcloud::Ruby::Models::Directory.new(id, path) end