Class: IOWindow
- Inherits:
-
Object
- Object
- IOWindow
- Includes:
- IO::Like
- Defined in:
- lib/archive/support/iowindow.rb
Overview
IOWindow represents an IO object which wraps another one allowing read and/or write access to a subset of the data within the stream.
NOTE: This object is NOT thread safe.
Instance Attribute Summary collapse
-
#window_position ⇒ Object
The file position at which this window begins.
-
#window_size ⇒ Object
The size of the window.
Instance Method Summary collapse
-
#initialize(io, window_position, window_size) ⇒ IOWindow
constructor
Creates a new instance of this class using io as the data source and where window_position and window_size define the location and size of data window respectively.
Constructor Details
#initialize(io, window_position, window_size) ⇒ IOWindow
Creates a new instance of this class using io as the data source and where window_position and window_size define the location and size of data window respectively.
io must be opened for reading and must be seekable. window_position must be an integer greater than or equal to 0. window_size must be an integer greater than or equal to 0.
19 20 21 22 23 24 |
# File 'lib/archive/support/iowindow.rb', line 19 def initialize(io, window_position, window_size) @io = io @unbuffered_pos = 0 self.window_position = window_position self.window_size = window_size end |
Instance Attribute Details
#window_position ⇒ Object
The file position at which this window begins.
27 28 29 |
# File 'lib/archive/support/iowindow.rb', line 27 def window_position @window_position end |
#window_size ⇒ Object
The size of the window.
44 45 46 |
# File 'lib/archive/support/iowindow.rb', line 44 def window_size @window_size end |