class DBF::Header

Attributes

encoding[R]
encoding_key[R]
header_length[R]
record_count[R]
record_length[R]
version[R]

Public Class Methods

new(data) click to toggle source
# File lib/dbf/header.rb, line 10
def initialize(data)
  @data = data
  unpack_header
end

Public Instance Methods

unpack_header() click to toggle source
# File lib/dbf/header.rb, line 15
def unpack_header
  @version = @data.unpack('H2').first

  case @version
  when '02'
    @record_count, @record_length = @data.unpack('x v x3 v')
    @header_length = 521
  else
    @record_count, @header_length, @record_length, @encoding_key = @data.unpack('x x3 V v2 x17 H2')
    @encoding = DBF::ENCODINGS[@encoding_key]
  end
end