Class: DBF::Header
- Inherits:
-
Object
- Object
- DBF::Header
- Defined in:
- lib/dbf/header.rb
Instance Attribute Summary collapse
-
#encoding ⇒ Object
readonly
Returns the value of attribute encoding.
-
#encoding_key ⇒ Object
readonly
Returns the value of attribute encoding_key.
-
#header_length ⇒ Object
readonly
Returns the value of attribute header_length.
-
#record_count ⇒ Object
readonly
Returns the value of attribute record_count.
-
#record_length ⇒ Object
readonly
Returns the value of attribute record_length.
-
#version ⇒ Object
readonly
Returns the value of attribute version.
Instance Method Summary collapse
-
#initialize(data) ⇒ Header
constructor
A new instance of Header.
- #unpack_header ⇒ Object
Constructor Details
#initialize(data) ⇒ Header
Returns a new instance of Header.
5 6 7 8 |
# File 'lib/dbf/header.rb', line 5 def initialize(data) @data = data unpack_header end |
Instance Attribute Details
#encoding ⇒ Object (readonly)
Returns the value of attribute encoding.
3 4 5 |
# File 'lib/dbf/header.rb', line 3 def encoding @encoding end |
#encoding_key ⇒ Object (readonly)
Returns the value of attribute encoding_key.
3 4 5 |
# File 'lib/dbf/header.rb', line 3 def encoding_key @encoding_key end |
#header_length ⇒ Object (readonly)
Returns the value of attribute header_length.
3 4 5 |
# File 'lib/dbf/header.rb', line 3 def header_length @header_length end |
#record_count ⇒ Object (readonly)
Returns the value of attribute record_count.
3 4 5 |
# File 'lib/dbf/header.rb', line 3 def record_count @record_count end |
#record_length ⇒ Object (readonly)
Returns the value of attribute record_length.
3 4 5 |
# File 'lib/dbf/header.rb', line 3 def record_length @record_length end |
#version ⇒ Object (readonly)
Returns the value of attribute version.
3 4 5 |
# File 'lib/dbf/header.rb', line 3 def version @version end |
Instance Method Details
#unpack_header ⇒ Object
10 11 12 13 14 15 16 17 18 19 20 21 |
# File 'lib/dbf/header.rb', line 10 def unpack_header @version = @data.unpack1('H2') 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 |