たけ(tk)です

[ruby-ext:02215] VFS for ruby

で出てきた杉浦さんの vfs と akrさんの vfs.rb を試してみたのですが、どち
らも Windows形式のpathは開けませんでした。

http://cvs.m17n.org/cgi-bin/viewcvs/vfs/vfs.rb?rev=HEAD&cvsroot=ruby&content-type=text/vnd.viewcvs-markup

http://sugi.nemui.org/pub/ruby/vfs/libvfs-ruby-0.0+a10.tar.gz

akr さんのほうは2行加えることでどうにかなりました。(1文字のプロトコル
はあり得ないものとして良いですよね?)。

  def VFS.open(uri)
    if block_given?
      stream = self.open(uri)
      begin
        yield stream
      ensure
        stream.close
      end
    else
      if String === uri
        ##++
        uri = "file://"+uri if /^\w\:/ =~ uri  # for "g:/dir/name.ext"
        uri, *fragment = uri.split /#/
        uri = URI.parse(uri)
        fragment = ['autodetect'] if fragment.empty?
      else
        fragment = ['autodetect']
      end
      ##++
      uri.scheme ||= "file"  # for "/dir/name.ext" "//server/share/dir/name.ext"
      self.decorate(self.send(uri.scheme + '_open', uri), fragment)
    end
  end

----

杉浦さんのはでかすぎて手に負えないです。

----

* Linuxのデスクトップの「ネットワークサーバ」(Nautilus)でSambaのサー
バにアクセスすると「smb://server」という形式のpathになります。これにも、
対応してくれるとありがたいです。

* ssh でアクセス可能なサーバのファイルは開けないかな?

Take_tk = KUMAGAI Hidetake
たけ(tk)=熊谷秀武