In article <20071207010257.E5077E04C1 / mail.bc9.jp>,
  Nobuyoshi Nakada <nobu / ruby-lang.org> writes:

> Index: lib/pathname.rb
> ===================================================================
> --- lib/pathname.rb	(revision 14122)
> +++ lib/pathname.rb	(working copy)
> @@ -799,4 +799,6 @@ class Pathname    # * File *
>    end
>  
> +  alias to_open open
> +
>    # See <tt>File.readlink</tt>.  Read symbolic link.
>    def readlink() self.class.new(File.readlink(@path)) end

現状、これがないと open に Pathname が使えないのでコミットし
てください。
(test-all が成功しているのは open-uri が require されてるか
らの模様)

経緯としては、まず open-uri の仕様として (public な) open メ
ソッドの話があり、それから to_path や to_open があります。

私の理解するところでは (現状が以下のようになっているとは限り
ませんが) 次のような違いがあります。

open を実装するときはブロックの処理もやる必要があります。
また open-uri を require する必要があります。

to_open を実装するときはブロックの処理は不要です。
が、後始末のタイミングがいくらか面倒です。

to_path を実装するならファイルをオープンする処理も不要です。
が、ファイルシステム上の本物のファイルしか扱えません。
-- 
[田中 哲][たなか あきら][Tanaka Akira]