Class: CSstats::Parser::Reader::FileStreamer
- Inherits:
-
Object
- Object
- CSstats::Parser::Reader::FileStreamer
- Defined in:
- lib/csstats/parser/reader/file_streamer.rb
Instance Attribute Summary collapse
-
#stream ⇒ Object
readonly
Returns the value of attribute stream.
Instance Method Summary collapse
-
#initialize(stream) ⇒ FileStreamer
constructor
A new instance of FileStreamer.
-
#read_int_data ⇒ Object
Internal: Get the 32bit integer from file.
-
#read_short_data ⇒ Object
Internal: Get the 16bit integer from file.
-
#read_string_data(length) ⇒ Object
Internal: Get the String from file.
Constructor Details
#initialize(stream) ⇒ FileStreamer
Returns a new instance of FileStreamer.
7 8 9 |
# File 'lib/csstats/parser/reader/file_streamer.rb', line 7 def initialize(stream) @stream = stream end |
Instance Attribute Details
#stream ⇒ Object (readonly)
Returns the value of attribute stream.
5 6 7 |
# File 'lib/csstats/parser/reader/file_streamer.rb', line 5 def stream @stream end |
Instance Method Details
#read_int_data ⇒ Object
Internal: Get the 32bit integer from file.
Returns the Integer.
14 15 16 17 18 19 |
# File 'lib/csstats/parser/reader/file_streamer.rb', line 14 def read_int_data data = stream.read(4) raise CSstats::Error, 'Cannot read int data.' unless data data.unpack('V').first end |
#read_short_data ⇒ Object
Internal: Get the 16bit integer from file.
Returns the Integer.
24 25 26 27 28 29 |
# File 'lib/csstats/parser/reader/file_streamer.rb', line 24 def read_short_data data = stream.read(2) raise CSstats::Error, 'Cannot read short data.' unless data data.unpack('v').first end |
#read_string_data(length) ⇒ Object
Internal: Get the String from file.
length - The Integer length of string to read.
Returns the String.
36 37 38 39 40 41 |
# File 'lib/csstats/parser/reader/file_streamer.rb', line 36 def read_string_data(length) data = stream.read(length) raise CSstats::Error, 'Cannot read string data.' unless data data.strip end |