def initialize(opts = {})
opts = opts.dup
self.type = opts.delete(:type) if opts.has_key? :type
self.ftp = opts.delete(:ftp) if opts.has_key? :ftp
self.http = opts.delete(:http) if opts.has_key? :http
self.no_proxy = opts.delete(:no_proxy) if opts.has_key? :no_proxy
self.ssl = opts.delete(:ssl) if opts.has_key? :ssl
self.pac = opts.delete(:pac) if opts.has_key? :pac
self.auto_detect = opts.delete(:auto_detect) if opts.has_key? :auto_detect
unless opts.empty?
raise ArgumentError, "unknown option#{'s' if opts.size != 1}: #{opts.inspect}"
end
end