class Asciidoctor::Diagram::BinaryIO

Helper class to read binary values from a String @private

Public Class Methods

new(string) click to toggle source
# File lib/asciidoctor-diagram/util/binaryio.rb, line 6
def initialize(string)
  @data = string
  @offset = 0
end

Public Instance Methods

read_string(length, encoding = Encoding::ASCII_8BIT) click to toggle source
# File lib/asciidoctor-diagram/util/binaryio.rb, line 35
def read_string(length, encoding = Encoding::ASCII_8BIT)
  str = @data[@offset,length]
  @offset += length
  str.force_encoding(encoding)
end
read_uint16_be() click to toggle source
# File lib/asciidoctor-diagram/util/binaryio.rb, line 11
def read_uint16_be
  uint16 = @data[@offset,2].unpack('n')[0]
  @offset += 2
  uint16
end
read_uint16_le() click to toggle source
# File lib/asciidoctor-diagram/util/binaryio.rb, line 17
def read_uint16_le
  uint16 = @data[@offset,2].unpack('v')[0]
  @offset += 2
  uint16
end
read_uint32_be() click to toggle source
# File lib/asciidoctor-diagram/util/binaryio.rb, line 23
def read_uint32_be
  uint32 = @data[@offset,4].unpack('N')[0]
  @offset += 4
  uint32
end
read_uint32_le() click to toggle source
# File lib/asciidoctor-diagram/util/binaryio.rb, line 29
def read_uint32_le
  uint32 = @data[@offset,4].unpack('V')[0]
  @offset += 4
  uint32
end
skip(length) click to toggle source
# File lib/asciidoctor-diagram/util/binaryio.rb, line 41
def skip(length)
  @offset += length
end