net_dav icon indicating copy to clipboard operation
net_dav copied to clipboard

WebDav client library

= NOTE: NO LONGER ACTIVELY MAINTAINED

Net::Dav library, in the style of Net::HTTP {Build Status}[https://travis-ci.org/devrandom/net_dav]

== Install

Installing the gem:

gem install net_dav

and if you want acceleration for large files (from 4MB/s to 20MB/s in my setup):

gem install curb

If you're having install issues with nokogiri on Mac OS X read http://wiki.github.com/tenderlove/nokogiri/what-to-do-if-libxml2-is-being-a-jerk

== Usage require 'net/dav'

Net::DAV.start("https://localhost.localdomain/xyz/") do |dav| dav.find('.', :recursive => true) do |item| item.content = item.content.gsub(/silly/i, 'funny') end end

(Note that if you want to use "." to refer to the origin URL, it should end with a slash, otherwise it is assumed that the last component is a file and "." will refer to the parent.)

== Documentation

RDoc: http://rdoc.info/projects/devrandom/net_dav Wiki: http://wiki.github.com/devrandom/net_dav

== Performance

This should be threadsafe if you use a different Net::DAV object for each thread. Check out script/multi-test for a multi-threaded application.

Installing the +curb+ gem will gain speedup with large files, but currently is much slower doing many small +get+ operations. If your usecase is the latter and you have +curb+ installed, you can disable its use by passing the :curl => false option to Net::DAV::start or Net::DAV::new .

== Other

Thanks go to Thomas ( https://github.com/thomasfl/ ) and others for their help.

Thomas is writing the easy to use https://github.com/thomasfl/open-uri-and-write based on net_dav.