Class: Pack::Indexer

Inherits:
Object
  • Object
show all
Defined in:
lib/pack/indexer.rb

Defined Under Namespace

Classes: PackFile

Instance Method Summary collapse

Constructor Details

#initialize(database, reader, stream, progress) ⇒ Indexer

Returns a new instance of Indexer.



30
31
32
33
34
35
36
37
38
39
40
41
# File 'lib/pack/indexer.rb', line 30

def initialize(database, reader, stream, progress)
  @database = database
  @reader   = reader
  @stream   = stream
  @progress = progress

  @index   = {}
  @pending = Hash.new { |hash, oid| hash[oid] = [] }

  @pack_file  = PackFile.new(@database.pack_path, "tmp_pack")
  @index_file = PackFile.new(@database.pack_path, "tmp_idx")
end

Instance Method Details

#process_packObject



43
44
45
46
47
48
49
50
# File 'lib/pack/indexer.rb', line 43

def process_pack
  write_header
  write_objects
  write_checksum

  resolve_deltas
  write_index
end