net_dav
net_dav copied to clipboard
WebDav client library
= NOTE: NO LONGER ACTIVELY MAINTAINED
Net::Dav library, in the style of Net::HTTP {}[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.