| Module | RIO::Doc::OPTIONAL | lib/rio/doc/OPTIONAL.rb |
Rio is a facade for most of the standard ruby classes that deal with I/O; providing a simple, intuitive, succinct interface to the functionality provided by IO, File, Dir, Pathname, FileUtils, Tempfile, StringIO, OpenURI and others. Rio also provides an application level interface which allows many common I/O idioms to be expressed succinctly.
Please read the following first:
This document describes various optional Rio components, that must be explicitly ‘required’ to be available. These are not included in rio.rb either because they change classes that should not be changed without the developers explicit permission, or because they are not of general enough interest.
This option comprises 4 options
require 'rio/to_rio/object' ario = any_object.to_rio
This option adds a to_rio method to the Object class which calls the object’s #to_s method and passes it to the Rio constructor. Like:
ario = rio(any_object.to_s)
require 'rio/to_rio/string' ario = "a/file/represented/as/a/string".to_rio ario = 'strings'/'used'/'with'/'subdirectory'/'operator'
This option adds a to_rio method and the subdirectory operator ’/’ to the String class. Note that due to operator precedance one must use parenthesis when calling a method directly on a Rio created using the subdirectory operator with Strings
array_of_first_ten_lines = ('adir'/'asubdir'/'afile').lines[0...10]
require 'rio/to_rio/array'
ario = %w[an array of path components].to_rio #=> rio('an/array/of/path/components')
This option adds a to_rio method to the Array class. This behaves as if
rio(%w[an array of path components]) had been called.
require 'rio/argv' arguments_as_rios = RIO.ARGV
This option provides a function which converts each element of ruby’s ARGV into a Rio. Useful when writing a program which takes a list of files as its arguments
require 'rio/open3'
input,output,errput = RIO.popen3
RIO.popen3 { |input,output,errput| ... }
This options provides a wrapper around the Open3#popen3 call with the IO objects converted to Rios
require 'rio/prompt'
the_anwser = RIO.prompt('What is the answer? ')
This option provides a module function to prompt for input.
Copyright © 2005,2006,2007 Christopher Kleckner. All rights reserved.