Class: DBF::Memo::Foxpro
Constant Summary collapse
- FPT_HEADER_SIZE =
512
Constants inherited from Base
Base::BLOCK_HEADER_SIZE, Base::BLOCK_SIZE
Instance Method Summary collapse
-
#build_memo(start_block) ⇒ Object
:nodoc:.
Methods inherited from Base
#close, #closed?, #get, #initialize, open
Constructor Details
This class inherits a constructor from DBF::Memo::Base
Instance Method Details
#build_memo(start_block) ⇒ Object
:nodoc:
8 9 10 11 12 13 14 15 16 17 18 19 20 |
# File 'lib/dbf/memo/foxpro.rb', line 8 def build_memo(start_block) # :nodoc: data.seek offset(start_block) block = data.read(block_size) return nil unless block # memo_size is nil when the block header is truncated (< 8 bytes) memo_type, memo_size, memo_string = block.unpack('NNa*') return nil unless memo_type == 1 && memo_size.to_i.positive? read_memo_content(memo_string, memo_size) rescue IOError, SystemCallError, RangeError nil end |