lib/rio/scheme/stdio.rb in rio-0.3.7 vs lib/rio/scheme/stdio.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 @@ -44,24 +44,25 @@ RIOSCHEME = 'stdio' RIOPATH = RIO::RL::CHMAP.invert[RIOSCHEME].to_s.freeze attr_reader :scheme def initialize(sch=RIOSCHEME) @scheme = sch + #super end def opaque() '' end require 'rio/iomode' def open(m) case when m.primarily_read? @scheme = 'stdin' - self.ios = $stdin.clone + return super($stdin.clone) when m.primarily_write? @scheme = 'stdout' - self.ios = $stdout.clone + return super($stdout.clone) else raise ArgumentError,sprintf("Can not %s a %s with mode '%s'",'open',self.class,m) end - super() + nil end def close() @scheme = RIOSCHEME self.ios = nil end