class Nextcloud::Ruby::Tag
Constants
- ALL_XML
Public Class Methods
all()
click to toggle source
# File lib/nextcloud/ruby/tag.rb, line 23 def all response = Api.request(:propfind, 'systemtags', ALL_XML) response.ok? ? parse_all(response) : nil end
find(id)
click to toggle source
# File lib/nextcloud/ruby/tag.rb, line 16 def find(id) uri = Addressable::URI .parse("systemtags/#{id}") response = Api.request(:propfind, uri, ALL_XML) response.ok? ? parse_tag(response.body.xpath('//d:prop')) : nil end
Private Class Methods
parse_all(response)
click to toggle source
# File lib/nextcloud/ruby/tag.rb, line 36 def parse_all(response) [].tap do |tags| response.body.xpath('//d:prop').each do |prop| tags << parse_tag(prop) unless parse_tag(prop).nil? end end end
parse_tag(response)
click to toggle source
# File lib/nextcloud/ruby/tag.rb, line 30 def parse_tag(response) id = response.xpath('./oc:id').text.to_i name = response.xpath('./oc:display-name').text Nextcloud::Ruby::Models::Tag.new(id, name) unless id.zero? end