Module: MrbParser::Utils

Included in:
MrbParser
Defined in:
lib/mrb_parser/utils.rb

Instance Method Summary collapse

Instance Method Details

#posObject



7
8
9
# File 'lib/mrb_parser/utils.rb', line 7

def pos
  @data.pos
end

#read(n) ⇒ Object



3
4
5
# File 'lib/mrb_parser/utils.rb', line 3

def read(n)
  @data.read(n)
end

#read_chars(n) ⇒ Object



36
37
38
# File 'lib/mrb_parser/utils.rb', line 36

def read_chars(n)
  read_format("a#{n}", n)
end

#read_format(pat, n) ⇒ Object



15
16
17
18
19
20
21
22
# File 'lib/mrb_parser/utils.rb', line 15

def read_format(pat, n)
  byteseq = @data.read(n)
  val = byteseq.unpack(pat)[0]
  if @verbose
    p [@data, n, val]
  end
  val
end

#read_n16stringObject



40
41
42
43
# File 'lib/mrb_parser/utils.rb', line 40

def read_n16string
  len = read_uint16
  read_format("a#{len}", len)
end

#read_uint16Object



28
29
30
# File 'lib/mrb_parser/utils.rb', line 28

def read_uint16
  read_format("n1", 2)
end

#read_uint32Object



32
33
34
# File 'lib/mrb_parser/utils.rb', line 32

def read_uint32
  read_format("N1", 4)
end

#read_uint8Object



24
25
26
# File 'lib/mrb_parser/utils.rb', line 24

def read_uint8
  read_format("C1", 1)
end

#seek(n) ⇒ Object



11
12
13
# File 'lib/mrb_parser/utils.rb', line 11

def seek(n)
  @data.seek(n)
end