Class: WebDAV::MultiStatus

Inherits:
Response show all
Defined in:
lib/WebDAV/MultiStatus.rb

Instance Attribute Summary collapse

Attributes inherited from Response

#body, #code, #headers, #message

Instance Method Summary collapse

Methods inherited from Response

#content_type, #etag, #success?

Instance Attribute Details

#resourcesObject (readonly)

Returns the value of attribute resources.



8
9
10
# File 'lib/WebDAV/MultiStatus.rb', line 8

def resources
  @resources
end

Instance Method Details

#parseObject



10
11
12
13
14
15
16
17
18
19
20
21
22
23
# File 'lib/WebDAV/MultiStatus.rb', line 10

def parse
  doc = REXML::Document.new(body)
  resources = []
  doc.elements.each('//d:response') do |resp|
    href = resp.elements['.//d:href']&.text
    properties = {}
    resp.elements.each('.//d:prop/*') do |prop|
      properties[prop.name] = prop.text || prop.to_s
    end
    status = resp.elements['.//d:status']&.text
    resources << {href: href, properties: properties, status: status}
  end
  resources
end