Class: Nanoc::Int::Compiler::Stages::CompileReps

Inherits:
Object
  • Object
show all
Defined in:
lib/nanoc/base/services/compiler/stages/compile_reps.rb

Instance Method Summary collapse

Constructor Details

#initialize(outdatedness_store:, dependency_store:, action_sequences:, compilation_context:, compiled_content_cache:) ⇒ CompileReps

Returns a new instance of CompileReps



5
6
7
8
9
10
11
# File 'lib/nanoc/base/services/compiler/stages/compile_reps.rb', line 5

def initialize(outdatedness_store:, dependency_store:, action_sequences:, compilation_context:, compiled_content_cache:)
  @outdatedness_store = outdatedness_store
  @dependency_store = dependency_store
  @action_sequences = action_sequences
  @compilation_context = compilation_context
  @compiled_content_cache = compiled_content_cache
end

Instance Method Details

#runObject



13
14
15
16
17
18
19
20
21
# File 'lib/nanoc/base/services/compiler/stages/compile_reps.rb', line 13

def run
  selector = Nanoc::Int::ItemRepSelector.new(@outdatedness_store.to_a)
  selector.each do |rep|
    handle_errors_while(rep) { compile_rep(rep, is_outdated: @outdatedness_store.include?(rep)) }
  end
ensure
  @outdatedness_store.store
  @compiled_content_cache.store
end