https://redmine.ruby-lang.org/
https://redmine.ruby-lang.org/favicon.ico?1711330511
2012-11-08T00:44:21Z
Ruby Issue Tracking System
Ruby master - Bug #7301: URI::FTP.new2()の引数typecodeを省略するとNoMethodErrorが発生します。
https://redmine.ruby-lang.org/issues/7301?journal_id=32573
2012-11-08T00:44:21Z
mame (Yusuke Endoh)
mame@ruby-lang.org
<ul><li><strong>Status</strong> changed from <i>Open</i> to <i>Assigned</i></li><li><strong>Assignee</strong> set to <i>mame (Yusuke Endoh)</i></li><li><strong>Target version</strong> set to <i>2.0.0</i></li></ul><p>報告ありがとうございます。<br>
生まれてから 10 年以上このままだったっぽいですね。このメソッド本当に必要なのか?<br>
とりあえず最低限と思われるパッチを入れておきます。</p>
<p>diff --git a/lib/uri/ftp.rb b/lib/uri/ftp.rb<br>
index 971684a..6cb9782 100644<br>
--- a/lib/uri/ftp.rb<br>
+++ b/lib/uri/ftp.rb<br>
@@ -54,7 +54,7 @@ module URI<br>
# Arguments are user, password, host, port, path, typecode,<br>
# and arg_check, in that order.<br>
def self.new2(user, password, host, port, path,</p>
<ul>
<li>
<pre><code> typecode = nil, arg_check = true)
</code></pre>
</li>
</ul>
<ul>
<li>
<pre><code> typecode = "", arg_check = true)
typecode = nil if typecode.size == 0
if typecode && !TYPECODE.include?(typecode)
raise ArgumentError,
</code></pre>
</li>
</ul>
<p>--<br>
Yusuke Endoh <a href="mailto:mame@tsg.ne.jp" class="email">mame@tsg.ne.jp</a></p>
Ruby master - Bug #7301: URI::FTP.new2()の引数typecodeを省略するとNoMethodErrorが発生します。
https://redmine.ruby-lang.org/issues/7301?journal_id=32898
2012-11-14T19:38:18Z
shi-mo (Yoshifumi Shimono)
yoshifumi.shimono@gmail.com
<ul><li><strong>File</strong> <a href="/attachments/3249">new2_with_typecode.rb</a> <a class="icon-only icon-download" title="Download" href="/attachments/download/3249/new2_with_typecode.rb">new2_with_typecode.rb</a> added</li></ul><p>後から気付いたのですが、引数typecodeを与えても例外が発生します。</p>
<hr>
<p>$ cat new2_with_typecode.rb</p>
<a name="encoding-utf-8"></a>
<h1 >encoding: utf-8<a href="#encoding-utf-8" class="wiki-anchor">¶</a></h1>
<p>require 'uri'</p>
<h2>URI::FTP.new2('anonymous', 'anonymous', 'ftp.ubuntu.com', 21, '/', 'a')<br>
$ ruby -v new2_with_typecode.rb<br>
ruby 1.9.3p286 (2012-10-12 revision 37165) [i686-linux]<br>
/home/shimono/.rbenv/versions/1.9.3-p286/lib/ruby/1.9.1/uri/generic.rb:557:in <code>split_userinfo': undefined method </code>split' for ["anonymous", "anonymous"]:Array (NoMethodError)<br>
from /home/shimono/.rbenv/versions/1.9.3-p286/lib/ruby/1.9.1/uri/generic.rb:524:in <code>set_userinfo' from /home/shimono/.rbenv/versions/1.9.3-p286/lib/ruby/1.9.1/uri/generic.rb:203:in </code>initialize'<br>
from /home/shimono/.rbenv/versions/1.9.3-p286/lib/ruby/1.9.1/uri/ftp.rb:140:in <code>initialize' from /home/shimono/.rbenv/versions/1.9.3-p286/lib/ruby/1.9.1/uri/ftp.rb:66:in </code>new'<br>
from /home/shimono/.rbenv/versions/1.9.3-p286/lib/ruby/1.9.1/uri/ftp.rb:66:in <code>new2' from new2_with_typecode.rb:5:in </code>'<br>
$</h2>
<p>引数user,passwordの与え方は間違っていないと思うのですが、いかがでしょうか。</p>
Ruby master - Bug #7301: URI::FTP.new2()の引数typecodeを省略するとNoMethodErrorが発生します。
https://redmine.ruby-lang.org/issues/7301?journal_id=32899
2012-11-14T19:48:22Z
mame (Yusuke Endoh)
mame@ruby-lang.org
<ul></ul><p>これはダメですね。泥沼化しそうなので、手を入れるべきでないと判断します。</p>
<p>メンテナの YAMADA Akira さん見ていらっしゃいますかね。<br>
返事がなければ、ドキュメントを消して undocumented なメソッドにすることで消極的に解決しようと思います。</p>
<p>--<br>
Yusuke Endoh <a href="mailto:mame@tsg.ne.jp" class="email">mame@tsg.ne.jp</a></p>
Ruby master - Bug #7301: URI::FTP.new2()の引数typecodeを省略するとNoMethodErrorが発生します。
https://redmine.ruby-lang.org/issues/7301?journal_id=35774
2013-02-02T12:18:42Z
mame (Yusuke Endoh)
mame@ruby-lang.org
<ul><li><strong>Status</strong> changed from <i>Assigned</i> to <i>Closed</i></li><li><strong>% Done</strong> changed from <i>0</i> to <i>100</i></li></ul><p>This issue was solved with changeset r39013.<br>
Yoshifumi, thank you for reporting this issue.<br>
Your contribution to Ruby is greatly appreciated.<br>
May Ruby be with you.</p>
<hr>
<ul>
<li>lib/uri/ftp.rb (URI::FTP.new2): remove the rdoc because it is not<br>
well tested yet. [Bug <a class="issue tracker-1 status-5 priority-4 priority-default closed" title="Bug: URI::FTP.new2()の引数typecodeを省略するとNoMethodErrorが発生します。 (Closed)" href="https://redmine.ruby-lang.org/issues/7301">#7301</a>]</li>
</ul>