summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
Diffstat (limited to 'lib')
-rw-r--r--lib/uri/ftp.rb21
1 files changed, 14 insertions, 7 deletions
diff --git a/lib/uri/ftp.rb b/lib/uri/ftp.rb
index 0c5b13a1b7..557e1fda33 100644
--- a/lib/uri/ftp.rb
+++ b/lib/uri/ftp.rb
@@ -129,17 +129,24 @@ module URI
# Arguments are +scheme+, +userinfo+, +host+, +port+, +registry+, +path+,
# +opaque+, +query+ and +fragment+, in that order.
#
- def initialize(*arg)
- raise InvalidURIError unless arg[5]
- arg[5] = arg[5].sub(/^\//,'').sub(/^%2F/,'/')
- super(*arg)
+ def initialize(scheme,
+ userinfo, host, port, registry,
+ path, opaque,
+ query,
+ fragment,
+ parser = nil,
+ arg_check = false)
+ raise InvalidURIError unless path
+ path = path.sub(/^\//,'')
+ path.sub!(/^%2F/,'/')
+ super(scheme, userinfo, host, port, registry, path, opaque,
+ query, fragment, parser, arg_check)
@typecode = nil
- tmp = @path.index(TYPECODE_PREFIX)
- if tmp
+ if tmp = @path.index(TYPECODE_PREFIX)
typecode = @path[tmp + TYPECODE_PREFIX.size..-1]
@path = @path[0..tmp - 1]
- if arg[-1]
+ if arg_check
self.typecode = typecode
else
self.set_typecode(typecode)