Module: ServeWebdav::SingletonMethods

Defined in:
lib/serve_webdav/serve_webdav.rb

Instance Method Summary collapse

Instance Method Details

#get_max_propfind_depthObject



24
25
26
# File 'lib/serve_webdav/serve_webdav.rb', line 24

def get_max_propfind_depth
  @@max_propfind_depth
end

#get_propfind_xmlObject



28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
# File 'lib/serve_webdav/serve_webdav.rb', line 28

def get_propfind_xml
<<EOPROPFIND_XML 
 xml.D(:multistatus, {"xmlns:D" => "DAV:"}) do
    @resources.each do |resource|
       xml.D :response do
           xml.D :href, resource.get_href
           xml.D :propstat do
              xml.D :prop do
  			         resource.get_properties.each do |property, value|
                  xml.D(property, value)
  			         end
  			         xml.D :resourcetype do
     				     xml.D :collection if resource.collection?
     			     end
              end
  			       xml.D :status, resource.status
           end
        end
    end
 end  
EOPROPFIND_XML
end

#get_proppatch_xmlObject



50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
# File 'lib/serve_webdav/serve_webdav.rb', line 50

def get_proppatch_xml
  <<EOPROPPATCH_XML 
  xml.D(:multistatus, {"xmlns:D" => "DAV:"}) do
     xml.D :response do
        xml.D :href, @resource.get_href
        for remove_property in @remove_properties
            xml.D :propstat do
              xml.D :prop do
                xml.tag! remove_property.name.to_sym, remove_property.attributes
              end
              if @resource.respond_to?(("remove_" + remove_property.name).to_sym)
                xml.D(:status, @resource.__send__(("remove_" + remove_property.name).to_sym))
              else
                xml.D :status, "HTTP/1.1 200 OK"
              end
            end
        end
        for set_property in @set_properties
            xml.D :propstat do
              xml.D :prop do
                xml.D set_property.name.to_sym, set_property.attributes
              end
              if @resource.respond_to?(("set_" + set_property.name).to_sym)
                xml.D(:status, @resource.__send__(("set_" + set_property.name).to_sym))
              else
                xml.D :status, "HTTP/1.1 200 OK"
              end
            end
        end
		    xml.D :responsedescription
     end
  end
EOPROPPATCH_XML
end

#set_max_propfind_depth(value = nil) ⇒ Object



20
21
22
# File 'lib/serve_webdav/serve_webdav.rb', line 20

def set_max_propfind_depth( value=nil)
  @@max_propfind_depth = value
end