lib/rio/scheme/path.rb in rio-0.3.7 vs lib/rio/scheme/path.rb in rio-0.3.8

- old
+ new

@@ -1,8 +1,8 @@ #-- # =============================================================================== -# Copyright (c) 2005, Christopher Kleckner +# Copyright (c) 2005, 2006 Christopher Kleckner # All rights reserved # # This file is part of the Rio library for ruby. # # Rio is free software; you can redistribute it and/or modify @@ -20,11 +20,11 @@ # Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA # =============================================================================== #++ # # To create the documentation for Rio run the command -# rake rdoc +# ruby build_doc.rb # from the distribution directory. Then point your browser at the 'doc/rdoc' directory. # # Suggested Reading # * RIO::Doc::SYNOPSIS # * RIO::Doc::INTRO @@ -34,68 +34,66 @@ # <b>Rio is pre-alpha software. # The documented interface and behavior is subject to change without notice.</b> require 'rio/rl/path' +require 'rio/ioh' module RIO module Path #:nodoc: all RESET_STATE = RL::PathBase::RESET_STATE class RL < RL::PathBase + def file_rl() + RIO::File::RL.new(self.uri, {:fs => self.fs}) + end + def dir_rl() + RIO::Dir::RL.new(self.uri, {:fs => self.fs}) + end end end module File RESET_STATE = RL::PathBase::RESET_STATE - class RL < RL::PathBase + class RL < RIO::Path::RL def open(m) - ::File.open(self.fspath,m.to_s) + IOH::Stream.new(fs.file.open(self.fspath,m.to_s)) end + def file_rl() + self + end end end module Dir RESET_STATE = RL::PathBase::RESET_STATE - class RL < RL::PathBase + class RL < RIO::Path::RL def open() - ::Dir.open(self.fspath) + IOH::Dir.new(fs.dir.open(self.fspath)) end + def dir_rl() + self + end end end require 'rio/stream' require 'rio/stream/open' require 'rio/ops/symlink' module Path module Stream + module Ops + include RIO::Ops::Path::Str + end + class Open < RIO::Stream::Open - include Ops::Path::Status - include Ops::Path::URI - include Ops::Path::Query + include RIO::Ops::Path::Status + include RIO::Ops::Path::URI + include RIO::Ops::Path::Query def stream_state(cl) next_state = super next_state.extend(RIO::Ops::Symlink::Existing) if symlink? - next_state + next_state.extend(Ops) end - def input() stream_state('Path::Stream::Input') end - def output() stream_state('Path::Stream::Output') end - - def inout() stream_state('Path::Stream::InOut') end end - - module Ops - include RIO::Ops::Path::Str - end - - class Input < RIO::Stream::Input - include Ops - end - - class Output < RIO::Stream::Output - include Ops - end - - class InOut < RIO::Stream::InOut - include Ops - end end end end +__END__