Project

General

Profile

Actions

Backport #3831

closed

ruby 1.9.1-p430 で、Net::Telnet の login が undefined method となり実行できない

Added by khiker (Kiyoto HAMANO) almost 12 years ago. Updated almost 3 years ago.

Status:
Closed
Priority:
Normal
Assignee:
-

Description

=begin
濱野と申します。
ruby-list:47391 からはじまるスレッドで尋ねさせて頂いた Ruby
1.9.1-p430における Net::Telnet における不具合について報告させて頂
きます。

Net::Telnet を使っているプログラムを ruby-1.9.1-p430 で実行してみ
たところ、Net::Telnet の login メソッドを呼ぼうとしたところで、
undefined method と言われてしまいました。

原因は、どうやら下記のようです。

  • Net::Telnet は、SimpleDelegator クラスを継承している。
  • SimpleDelegator クラスを継承したクラスでは、メソッドの追加がで
    きなくなった(*1)。
  • よって、login が無いと言われてしまう。

(*1) http://emasaka.blog65.fc2.com/blog-entry-780.html

申し分けございませんが、ご対応願えないでしょうか。

以下、もう少し詳細に述べます。

[再現方法]
以下のプログラムを、「IP アドレス」、「ユーザ」に適切な値を入れて実行し
ます。

 #!/usr/bin/env ruby
 
 require 'net/telnet'
 
 c = Net::Telnet.new("Host" => "IP アドレス", "Timeout" => 120)
 print("login ...")
 c.login("ユーザ")
 puts("done")
 
 print("closing ...")
 c.close()
 puts("done")
 
 # t.rb ends here
 

[結果]
ruby-1.9.1-p430 で行った結果です。

 $ ruby -v
 ruby 1.9.1p430 (2010-08-16 revision 28998) [i386-mswin32]
 $ ruby t.rb
 login ...t.rb:7:in `': undefined method `login' for #
 (NoMethodError)
 

[期待する結果]
ruby-1.9.1-p378 で行った結果です。

 $ ruby -v
 ruby 1.9.1p378 (2010-01-10 revision 26273) [i386-mswin32]
 $ ruby t.rb
 login ...done
 closing ...done
 

=end


Related issues 1 (0 open1 closed)

Related to Ruby master - Bug #3830: ruby 1.9.2 で Net::Telnet の close が undefined method となり実行できないClosed09/15/2010Actions
Actions #1

Updated by erikh (Erik Hollensbe) almost 12 years ago

=begin
Could not replicate this on 1.9.2 with the script provided.
=end

Actions #2

Updated by naruse (Yui NARUSE) over 11 years ago

=begin
backport r29544
=end

Actions #3

Updated by jeremyevans0 (Jeremy Evans) almost 3 years ago

  • Status changed from Open to Closed
  • Description updated (diff)
Actions

Also available in: Atom PDF