Class: DBF::Memo::Foxpro

Inherits:
Base
  • Object
show all
Defined in:
lib/dbf/memo/foxpro.rb

Constant Summary collapse

FPT_HEADER_SIZE =
512

Constants inherited from Base

Base::BLOCK_HEADER_SIZE, Base::BLOCK_SIZE

Instance Method Summary collapse

Methods inherited from Base

#close, #closed?, #get, open

Constructor Details

#initialize(data, version) ⇒ Foxpro

Returns a new instance of Foxpro.



8
9
10
11
# File 'lib/dbf/memo/foxpro.rb', line 8

def initialize(data, version)
  @data = data
  super
end

Instance Method Details

#build_memo(start_block) ⇒ Object

:nodoc:



13
14
15
16
17
18
19
20
21
# File 'lib/dbf/memo/foxpro.rb', line 13

def build_memo(start_block) # :nodoc:
  @data.seek offset(start_block)
  memo_type, memo_size, memo_string = @data.read(block_size).unpack('NNa*')
  return nil unless memo_type == 1 && memo_size > 0

  read_memo_content(memo_string, memo_size)
rescue StandardError
  nil
end