Method: BIL::Unpacker#unpack

Defined in:
lib/bil/unpacker.rb

#unpack(io) ⇒ Object



8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
# File 'lib/bil/unpacker.rb', line 8

def unpack(io)
  io.each_char.reduce(true) do |first_iteration, c|
    n = TABLE.index(c)

    next if n.nil?
    break if !first_iteration && n == 16

    increment_carry(n)
    integer_complete if (n & 16) == 0

    false
  end

  finalize
end