Hey I found two interesting functions while going through capistrano’s files. There are two functions named “upload” and “download”, which can be used to download and upload directories from / to remote server using scp.
upload(“LOCAL_DIR_PATH”, “REMOTE_PATH”, :via=> :scp, :recursive => true)
[/source] [source: ruby]
download(“REMOTE_PATH”, “LOCAL_DIR_PATH”, :via=> :scp, :recursive => true)
You can also use :sftp.
Unfortunately it is not much documented .