Class: Blockbuster::ExtractionList
- Inherits:
-
Object
- Object
- Blockbuster::ExtractionList
- Defined in:
- lib/blockbuster/extraction_list.rb
Overview
generates an ordered collection of files to extract
Instance Attribute Summary collapse
-
#configuration ⇒ Object
readonly
Returns the value of attribute configuration.
-
#files ⇒ Object
readonly
Returns the value of attribute files.
Instance Method Summary collapse
- #current_delta ⇒ Object
- #deltas ⇒ Object
- #extract_cassettes ⇒ Object
-
#initialize(comparator, configuration) ⇒ ExtractionList
constructor
A new instance of ExtractionList.
- #master ⇒ Object
-
#primary ⇒ Object
determines what file representation to return for writing to.
Constructor Details
#initialize(comparator, configuration) ⇒ ExtractionList
Returns a new instance of ExtractionList.
6 7 8 9 10 11 12 13 14 |
# 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 |
Instance Attribute Details
#configuration ⇒ Object (readonly)
Returns the value of attribute configuration.
4 5 6 |
# File 'lib/blockbuster/extraction_list.rb', line 4 def configuration @configuration end |
#files ⇒ Object (readonly)
Returns the value of attribute files.
4 5 6 |
# File 'lib/blockbuster/extraction_list.rb', line 4 def files @files end |
Instance Method Details
#current_delta ⇒ Object
16 17 18 |
# File 'lib/blockbuster/extraction_list.rb', line 16 def current_delta deltas.find(&:current?) end |
#deltas ⇒ Object
20 21 22 |
# File 'lib/blockbuster/extraction_list.rb', line 20 def deltas @deltas ||= Delta.initialize_for_each(@comparator, configuration) end |
#extract_cassettes ⇒ Object
24 25 26 |
# File 'lib/blockbuster/extraction_list.rb', line 24 def extract_cassettes files.map(&:extract_cassettes) end |
#master ⇒ Object
28 29 30 |
# File 'lib/blockbuster/extraction_list.rb', line 28 def master @master ||= Master.new(@comparator, configuration) end |
#primary ⇒ Object
determines what file representation to return for writing to
-
master when deltas are disabled
-
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)
-
-
current_delta
42 43 44 45 46 47 48 |
# 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 |