Class: Nanoc::Core::CompilationStages::StorePreCompilationState

Inherits:
Nanoc::Core::CompilationStage show all
Includes:
Nanoc::Core::ContractsSupport
Defined in:
lib/nanoc/core/compilation_stages/store_pre_compilation_state.rb

Instance Method Summary collapse

Methods included from Nanoc::Core::ContractsSupport

enabled?, included, setup_once, warn_about_performance

Methods inherited from Nanoc::Core::CompilationStage

#call

Constructor Details

#initialize(reps:, layouts:, checksum_store:, action_sequence_store:, action_sequences:) ⇒ StorePreCompilationState

Returns a new instance of StorePreCompilationState.



9
10
11
12
13
14
15
# File 'lib/nanoc/core/compilation_stages/store_pre_compilation_state.rb', line 9

def initialize(reps:, layouts:, checksum_store:, action_sequence_store:, action_sequences:)
  @reps = reps
  @layouts = layouts
  @checksum_store = checksum_store
  @action_sequence_store = action_sequence_store
  @action_sequences = action_sequences
end

Instance Method Details

#run(checksums) ⇒ Object



18
19
20
21
22
23
24
25
26
27
28
# File 'lib/nanoc/core/compilation_stages/store_pre_compilation_state.rb', line 18

def run(checksums)
  # Calculate action sequence
  (@reps.to_a + @layouts.to_a).each do |obj|
    @action_sequence_store[obj] = @action_sequences[obj].serialize
  end
  @action_sequence_store.store

  # Set checksums
  @checksum_store.checksums = checksums.to_h
  @checksum_store.store
end