Sha256: b93cb53388fc303834336ec8b6d1cea82cb23305952bb3751d85ab32a1d52ab9

Contents?: true

Size: 822 Bytes

Versions: 5

Compression:

Stored size: 822 Bytes

Contents

module DBF
  module Memo
    class Base
      BLOCK_HEADER_SIZE = 8
    
      def self.open(filename, version)
        self.new File.open(filename, 'rb'), version
      end
    
      def initialize(data, version)
        @data, @version = data, version
      end
    
      def get(start_block)
        if start_block > 0
          build_memo start_block 
        end
      end
    
      def close
        @data.close
      end
    
      private
    
      def offset(start_block) #nodoc
        start_block * block_size
      end

      def content_size(memo_size) #nodoc
        (memo_size - block_size) + BLOCK_HEADER_SIZE
      end

      def block_content_size #nodoc
        @block_content_size ||= block_size - BLOCK_HEADER_SIZE
      end
    
      def block_size #nodoc
        512
      end
    end
  end
end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
dbf-1.7.8 lib/dbf/memo/base.rb
dbf-1.7.5 lib/dbf/memo/base.rb
dbf-1.7.4 lib/dbf/memo/base.rb
dbf-1.7.3 lib/dbf/memo/base.rb
dbf-1.7.2 lib/dbf/memo/base.rb