class Blockbuster::ExtractionList

generates an ordered collection of files to extract

Attributes

configuration[R]
files[R]

Public Class Methods

new(comparator, configuration) click to toggle source
# File lib/blockbuster/extraction_list.rb, line 6
def initialize(comparator, configuration)
  @configuration = configuration
  @comparator    = comparator

  list = [master]
  list << deltas if configuration.deltas_enabled?

  @files = list.flatten
end

Public Instance Methods

current_delta() click to toggle source
# File lib/blockbuster/extraction_list.rb, line 16
def current_delta
  deltas.find(&:current?)
end
deltas() click to toggle source
# File lib/blockbuster/extraction_list.rb, line 20
def deltas
  @deltas ||= Delta.initialize_for_each(@comparator, configuration)
end
extract_cassettes() click to toggle source
# File lib/blockbuster/extraction_list.rb, line 24
def extract_cassettes
  files.map(&:extract_cassettes)
end
master() click to toggle source
# File lib/blockbuster/extraction_list.rb, line 28
def master
  @master ||= Master.new(@comparator, configuration)
end
primary() click to toggle source

determines what file representation to return for writing to

  1. master when deltas are disabled

  2. master when master does not exist. This handles two scenarios:

    • master does not exist (if this happens, we should always regenerate master)

    • we want to regenerate master (this assumes some other mechanism is responsible for deleting master to make this work)

  3. current_delta

# File lib/blockbuster/extraction_list.rb, line 42
def primary
  return master if configuration.deltas_disabled?

  return master unless File.exist?(master.file_path)

  current_delta
end