Skip to content

kennygrubb/net_dav

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Net::Dav library, in the style of Net::HTTP

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 wiki.github.com/tenderlove/nokogiri/what-to-do-if-libxml2-is-being-a-jerk

Usage

Net::DAV.start("https://localhost.localdomain/xyz/") { |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: rdoc.info/projects/devrandom/net_dav Wiki: 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 ( github.com/thomasfl/ ) and others for their help.

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

About

WebDav client library

Resources

License

Stars

Watchers

Forks

Packages

No packages published