[ruby-trunk - Bug #7850][Open] Gem::Dependency.new( Symbol ) is deprecated?

Issue #7850 has been reported by konh (Makoto HARADA).


Bug #7850: Gem::Dependency.new( Symbol ) is deprecated?

Author: konh (Makoto HARADA)
Status: Open
Priority: Normal
Assignee:
Category: lib
Target version: 2.0.0
ruby -v: ruby 2.0.0dev (2013-02-08 trunk 39161) [x86_64-darwin12.2.0]

Gem::Dependency.new の第一引数が Symbol だった場合、1.9だと問題ありませんが2.0だと例外が投げられます。
これは、想定された非互換でしょうか?

以下が再現コードです。

$ ruby2.0 -v -e ‘Gem::Dependency.new(:hoge)’
ruby 2.0.0dev (2013-02-08 trunk 39161) [x86_64-darwin12.2.0]
/***/2.0.0-rc2/lib/ruby/2.0.0/rubygems/dependency.rb:45:in initialize': dependency name must be a String, was :hoge (ArgumentError) from -e:1:in new’
from -e:1:in `’

$ ruby1.9 -v -e ‘Gem::Dependency.new(:hoge)’
ruby 1.9.3p385 (2013-02-06 revision 39114) [x86_64-darwin12.2.0]

具体的には、Hoe ( Hoe.plugin ) がこの非互換を踏んでいてひっかかりました。

Issue #7850 has been updated by konh (Makoto HARADA).

すいません、rubygems自体は別のコードベースなのですね。rubygemsのほうで調べる/報告してみます。
お騒がせいたしました・・・


Bug #7850: Gem::Dependency.new( Symbol ) is deprecated?

Author: konh (Makoto HARADA)
Status: Open
Priority: Normal
Assignee:
Category: lib
Target version: 2.0.0
ruby -v: ruby 2.0.0dev (2013-02-08 trunk 39161) [x86_64-darwin12.2.0]

Gem::Dependency.new の第一引数が Symbol だった場合、1.9だと問題ありませんが2.0だと例外が投げられます。
これは、想定された非互換でしょうか?

以下が再現コードです。

$ ruby2.0 -v -e ‘Gem::Dependency.new(:hoge)’
ruby 2.0.0dev (2013-02-08 trunk 39161) [x86_64-darwin12.2.0]
/***/2.0.0-rc2/lib/ruby/2.0.0/rubygems/dependency.rb:45:in initialize': dependency name must be a String, was :hoge (ArgumentError) from -e:1:in new’
from -e:1:in `’

$ ruby1.9 -v -e ‘Gem::Dependency.new(:hoge)’
ruby 1.9.3p385 (2013-02-06 revision 39114) [x86_64-darwin12.2.0]

具体的には、Hoe ( Hoe.plugin ) がこの非互換を踏んでいてひっかかりました。

Issue #7850 has been updated by ko1 (Koichi Sasada).

Status changed from Open to Third Party’s Issue

3rd party かわからなかったのですが、とりあえずこれで閉じておきます。

Bug #7850: Gem::Dependency.new( Symbol ) is deprecated?

Author: konh (Makoto HARADA)
Status: Third Party’s Issue
Priority: Normal
Assignee:
Category: lib
Target version: 2.0.0
ruby -v: ruby 2.0.0dev (2013-02-08 trunk 39161) [x86_64-darwin12.2.0]

Gem::Dependency.new の第一引数が Symbol だった場合、1.9だと問題ありませんが2.0だと例外が投げられます。
これは、想定された非互換でしょうか?

以下が再現コードです。

$ ruby2.0 -v -e ‘Gem::Dependency.new(:hoge)’
ruby 2.0.0dev (2013-02-08 trunk 39161) [x86_64-darwin12.2.0]
/***/2.0.0-rc2/lib/ruby/2.0.0/rubygems/dependency.rb:45:in initialize': dependency name must be a String, was :hoge (ArgumentError) from -e:1:in new’
from -e:1:in `’

$ ruby1.9 -v -e ‘Gem::Dependency.new(:hoge)’
ruby 1.9.3p385 (2013-02-06 revision 39114) [x86_64-darwin12.2.0]

具体的には、Hoe ( Hoe.plugin ) がこの非互換を踏んでいてひっかかりました。

Issue #7850 has been updated by nagachika (Tomoyuki C.).

ご報告ありがとうございます。
確かに RubyGems は github にリポジトリがあるのでそちらで報告したほうが早いかもしれません。
もう報告されましたか?
実際に困る gem
があるのであれば、何かしらの対応をしたほうが良いのではないかと思います。利用側で対処するという結論になる可能性もありますけど。

Bug #7850: Gem::Dependency.new( Symbol ) is deprecated?

Author: konh (Makoto HARADA)
Status: Third Party’s Issue
Priority: Normal
Assignee:
Category: lib
Target version: 2.0.0
ruby -v: ruby 2.0.0dev (2013-02-08 trunk 39161) [x86_64-darwin12.2.0]

Gem::Dependency.new の第一引数が Symbol だった場合、1.9だと問題ありませんが2.0だと例外が投げられます。
これは、想定された非互換でしょうか?

以下が再現コードです。

$ ruby2.0 -v -e ‘Gem::Dependency.new(:hoge)’
ruby 2.0.0dev (2013-02-08 trunk 39161) [x86_64-darwin12.2.0]
/***/2.0.0-rc2/lib/ruby/2.0.0/rubygems/dependency.rb:45:in initialize': dependency name must be a String, was :hoge (ArgumentError) from -e:1:in new’
from -e:1:in `’

$ ruby1.9 -v -e ‘Gem::Dependency.new(:hoge)’
ruby 1.9.3p385 (2013-02-06 revision 39114) [x86_64-darwin12.2.0]

具体的には、Hoe ( Hoe.plugin ) がこの非互換を踏んでいてひっかかりました。