Class: Stupidedi::Reader::AbstractInput
- Inherits:
-
Object
- Object
- Stupidedi::Reader::AbstractInput
- Includes:
- Inspect
- Defined in:
- lib/stupidedi/reader/input/abstract_input.rb
Overview
The String and Array refinements in lib/ruby provide compatible
implementations of the abstract methods, so code written to target
this interface is backward-compatable with plain unwrapped String
and Array values.
Provides an abstract interface for a positioned cursor within an element-based input stream. The main operations are implemented by the #take and #drop methods.
The DelegatedInput subclass wraps values that already implement the
interface, like String and Array. The FileInput subclass wraps
opened IO streams like File, and possibly others.
Direct Known Subclasses
Querying the Position collapse
-
#position ⇒ String
The file name, URI, etc that identifies the input stream.
Reading the Input collapse
-
#index ⇒ Integer
Returns the smallest
n, where #at(n)==element.
Advancing the Cursor collapse
-
#drop ⇒ AbstractInput
Advance the cursor forward
nelements.
Methods included from Inspect
Instance Method Details
#drop ⇒ AbstractInput
Advance the cursor forward n elements
117 |
# File 'lib/stupidedi/reader/input/abstract_input.rb', line 117 abstract :drop, :args => %w(n) |
#index ⇒ Integer
Returns the smallest n, where #at(n) == element
107 |
# File 'lib/stupidedi/reader/input/abstract_input.rb', line 107 abstract :index, :args => %w(element) |
#position ⇒ String
The file name, URI, etc that identifies the input stream
60 |
# File 'lib/stupidedi/reader/input/abstract_input.rb', line 60 abstract :position |