From: "mame (Yusuke Endoh)" Date: 2012-11-14T19:48:23+09:00 Subject: [ruby-dev:46515] [ruby-trunk - Bug #7301] URI::FTP.new2()の引数typecodeを省略するとNoMethodErrorが発生します。 Issue #7301 has been updated by mame (Yusuke Endoh). これはダメですね。泥沼化しそうなので、手を入れるべきでないと判断します。 メンテナの YAMADA Akira さん見ていらっしゃいますかね。 返事がなければ、ドキュメントを消して undocumented なメソッドにすることで消極的に解決しようと思います。 -- Yusuke Endoh ---------------------------------------- Bug #7301: URI::FTP.new2()の引数typecodeを省略するとNoMethodErrorが発生します。 https://bugs.ruby-lang.org/issues/7301#change-32899 Author: shi-mo (Yoshifumi Shimono) Status: Assigned Priority: Normal Assignee: mame (Yusuke Endoh) Category: Target version: 2.0.0 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 `
' $ ---------------------------- リファレンスマニュアルの説明(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/