Issue #7301 has been reported by shi-mo (Yoshifumi Shimono).

----------------------------------------
Bug #7301: URI::FTP.new2()の引数typecodeを省略するとNoMethodErrorが発生します。
https://bugs.ruby-lang.org/issues/7301

Author: shi-mo (Yoshifumi Shimono)
Status: Open
Priority: Normal
Assignee: 
Category: 
Target version: 
ruby -v: ruby 1.9.3p286 (2012-10-12 revision 37165) [i686-linux]


URI::FTP.new2()の引数typecodeを省略するとNoMethodErrorが発生します。

----------------------------
$ cat nil-typecode.rb 
# encoding: utf-8

require 'uri'

URI::FTP.new2('anonymous', 'anonymous', 'ftp.ubuntu.com', 21, '/')
$ ruby -v nil-typecode.rb
ruby 1.9.3p286 (2012-10-12 revision 37165) [i686-linux]
/home/shimono/.rbenv/versions/1.9.3-p286/lib/ruby/1.9.1/uri/ftp.rb:58:in `new2': undefined method `size' for nil:NilClass (NoMethodError)
	from nil-typecode.rb:5:in `<main>'
$ 
----------------------------

リファレンスマニュアルの説明(http://doc.okkez.net/static/192/class/URI=3a=3aFTP.html)と関数定義(lib/uri/ftp.rb)を見ると、この引数を省略しても例外は発生すべきでないように思えます。

>    def self.new2(user, password, host, port, path,
>                  typecode = nil, arg_check = true)


-- 
http://bugs.ruby-lang.org/