lib/rio/factory.rb in rio-0.3.7 vs lib/rio/factory.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 @@ -62,16 +62,22 @@ def subscheme_module(sch) @ss_module[sch] ||= case sch when 'file','path' require 'rio/scheme/path' Path + when 'zfile','zpath' + require 'rio/ext/zipfile/zpath' + Ext::ZipFile::ZPath when 'stdio','stdin','stdout' require 'rio/scheme/stdio' StdIO when 'stderr' require 'rio/scheme/stderr' StdErr + when 'null' + require 'rio/scheme/null' + Null when 'tempfile' require 'rio/scheme/temp' Temp::File when 'temp' require 'rio/scheme/temp' @@ -136,58 +142,36 @@ 'Dir::Stream' => 'rio/dir', 'Dir::NonExisting' => 'rio/dir', 'Stream::Close' => 'rio/stream/open', 'Stream::Reset' => 'rio/stream', - 'Stream::Open' => 'rio/stream/open', 'Stream::Input' => 'rio/stream', 'Stream::Output' => 'rio/stream', 'Stream::InOut' => 'rio/stream', 'Stream::Duplex::Open' => 'rio/stream/duplex', - 'Stream::Duplex::Input' => 'rio/stream/duplex', - 'Stream::Duplex::Output' => 'rio/stream/duplex', - 'Stream::Duplex::InOut' => 'rio/stream/duplex', - 'Path::Stream::Input' => 'rio/scheme/path', - 'Path::Stream::Output' => 'rio/scheme/path', - 'Path::Stream::InOut' => 'rio/scheme/path', 'Path::Stream::Open' => 'rio/scheme/path', - 'StrIO::Stream::Input' => 'rio/scheme/strio', - 'StrIO::Stream::Output' => 'rio/scheme/strio', - 'StrIO::Stream::InOut' => 'rio/scheme/strio', 'StrIO::Stream::Open' => 'rio/scheme/strio', + 'Null::Stream::Open' => 'rio/scheme/null', + + 'ZipFile::CentralDir::Open' => 'rio/zipfile/centraldir', + 'ZipFile::CentralDir::Stream' => 'rio/zipfile/centraldir', + 'ZipFile::CentralDir::Close' => 'rio/zipfile/centraldir', + 'ZipFile::Path::Str' => 'rio/zipfile/path', + 'CmdPipe::Stream::Reset' => 'rio/scheme/cmdpipe', -# 'CmdPipe::Stream::Open' => 'rio/scheme/cmdpipe', -# 'CmdPipe::Stream::Input' => 'rio/scheme/cmdpipe', -# 'CmdPipe::Stream::Output' => 'rio/scheme/cmdpipe', -# 'CmdPipe::Stream::InOut' => 'rio/scheme/cmdpipe', 'HTTP::Stream::Input' => 'rio/scheme/http', 'HTTP::Stream::Open' => 'rio/scheme/http', 'Temp::Reset' => 'rio/scheme/temp', 'Temp::Stream::Open' => 'rio/scheme/temp', - #'Temp::Stream::Close' => 'rio/scheme/temp', - #'Temp::Stream::InOut' => 'rio/scheme/temp', - 'FTP::State::Dir' => 'rio/ftp', - 'FTP::State::File' => 'rio/ftp', - 'FTP::State::Reset' => 'rio/ftp', - 'FTP::State::Open' => 'rio/ftp', - 'FTP::Stream::Input' => 'rio/ftp', - 'FTP::Stream::Open' => 'rio/ftp', - 'FTP::Stream::Close' => 'rio/ftp', - 'FTP::Stream::Reset' => 'rio/ftp', - - 'AryIO::Stream::Input' => 'rio/scheme/aryio', - 'AryIO::Stream::Output' => 'rio/scheme/aryio', - 'AryIO::Stream::InOut' => 'rio/scheme/aryio', - 'AryIO::Stream::Open' => 'rio/scheme/aryio', } def state2class(state_name) #p "state_name=#{state_name}" return @state_class[state_name] if @state_class.has_key?(state_name) if STATE2FILE.has_key?(state_name) @@ -216,11 +200,10 @@ private :_change_state # factory creates a state from args def create_state(*args) riorl = RIO::RL::Builder.build(*args) -# state_class = state2class(reset_state(riorl)) - create_handle(state2class(reset_state(riorl)).new_r(riorl)) + create_handle(state2class(reset_state(riorl)).new(riorl)) end def clone_state(state) create_handle(state.target.clone) end def create_handle(new_state)