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(reps:, 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
12
# File 'lib/nanoc/base/services/compiler/stages/compile_reps.rb', line 5

def initialize(reps:, outdatedness_store:, dependency_store:, action_sequences:, compilation_context:, compiled_content_cache:)
  @reps = reps
  @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



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

def run
  outdated_reps = @reps.select { |r| @outdatedness_store.include?(r) }
  selector = Nanoc::Int::ItemRepSelector.new(outdated_reps)
  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