class Seafoam::Binary::IOBinaryReader

An adapter to read binary values from an IO stream.

Public Class Methods

new(io) click to toggle source
# File lib/seafoam/binary/io_binary_reader.rb, line 5
def initialize(io)
  @io = io
end

Public Instance Methods

eof?() click to toggle source
# File lib/seafoam/binary/io_binary_reader.rb, line 83
def eof?
  @io.eof?
end
peek_sint8() click to toggle source
# File lib/seafoam/binary/io_binary_reader.rb, line 49
def peek_sint8
  byte = @io.read(1).unpack1('c')
  @io.ungetbyte byte
  byte
end
read_bytes(length) click to toggle source
# File lib/seafoam/binary/io_binary_reader.rb, line 13
def read_bytes(length)
  @io.read(length)
end
read_float32() click to toggle source
# File lib/seafoam/binary/io_binary_reader.rb, line 21
def read_float32
  @io.read(4).unpack1('g')
end
read_float64() click to toggle source
# File lib/seafoam/binary/io_binary_reader.rb, line 17
def read_float64
  @io.read(8).unpack1('G')
end
read_sint16() click to toggle source
# File lib/seafoam/binary/io_binary_reader.rb, line 33
def read_sint16
  @io.read(2).unpack1('s>')
end
read_sint32() click to toggle source
# File lib/seafoam/binary/io_binary_reader.rb, line 29
def read_sint32
  @io.read(4).unpack1('l>')
end
read_sint64() click to toggle source
# File lib/seafoam/binary/io_binary_reader.rb, line 25
def read_sint64
  @io.read(8).unpack1('q>')
end
read_sint8() click to toggle source
# File lib/seafoam/binary/io_binary_reader.rb, line 41
def read_sint8
  @io.read(1).unpack1('c')
end
read_uint16() click to toggle source
# File lib/seafoam/binary/io_binary_reader.rb, line 37
def read_uint16
  @io.read(2).unpack1('S>')
end
read_uint8() click to toggle source
# File lib/seafoam/binary/io_binary_reader.rb, line 45
def read_uint8
  @io.readbyte
end
read_utf8(length) click to toggle source
# File lib/seafoam/binary/io_binary_reader.rb, line 9
def read_utf8(length)
  read_bytes(length).force_encoding Encoding::UTF_8
end
skip(count) click to toggle source
# File lib/seafoam/binary/io_binary_reader.rb, line 79
def skip(count)
  @io.seek count, IO::SEEK_CUR
end
skip_float32(count = 1) click to toggle source
# File lib/seafoam/binary/io_binary_reader.rb, line 59
def skip_float32(count = 1)
  skip count * 4
end
skip_float64(count = 1) click to toggle source
# File lib/seafoam/binary/io_binary_reader.rb, line 55
def skip_float64(count = 1)
  skip count * 8
end
skip_int16(count = 1) click to toggle source
# File lib/seafoam/binary/io_binary_reader.rb, line 71
def skip_int16(count = 1)
  skip count * 2
end
skip_int32(count = 1) click to toggle source
# File lib/seafoam/binary/io_binary_reader.rb, line 67
def skip_int32(count = 1)
  skip count * 4
end
skip_int64(count = 1) click to toggle source
# File lib/seafoam/binary/io_binary_reader.rb, line 63
def skip_int64(count = 1)
  skip count * 8
end
skip_int8(count = 1) click to toggle source
# File lib/seafoam/binary/io_binary_reader.rb, line 75
def skip_int8(count = 1)
  skip count
end