class URI::SCP
def self.new2(user, password, host, port, path, query)
def self.new2(user, password, host, port, path, query) new('scp', [user, password], host, port, nil, path, nil, query) end
def buffer_open(buf, proxy, open_options)
def buffer_open(buf, proxy, open_options) options = open_options.merge(:port => port, :password => password) progress = options.delete(:progress_proc) buf << Net::SCP.download!(host, user, path, nil, options, &progress) buf.io.rewind end
def initialize(*args)
def initialize(*args) super(*args) @options = Hash.new (query || "").split(/&/).each do |pair| name, value = pair.split(/=/, 2) opt_name = name.to_sym values = value.split(/,/).map { |v| v.to_i.to_s == v ? v.to_i : v } values = values.first if values.length == 1 options[opt_name] = values end end