Class: Nanoc::Int::Compiler::Stages::Preprocess

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

Instance Method Summary collapse

Constructor Details

#initialize(action_provider:, site:, dependency_store:, checksum_store:) ⇒ Preprocess

Returns a new instance of Preprocess



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

def initialize(action_provider:, site:, dependency_store:, checksum_store:)
  @action_provider = action_provider
  @site = site
  @dependency_store = dependency_store
  @checksum_store = checksum_store
end

Instance Method Details

#runObject



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

def run
  if @action_provider.need_preprocessing?
    @site.data_source = Nanoc::Int::InMemDataSource.new(@site.items, @site.layouts)
    @action_provider.preprocess(@site)

    @dependency_store.items = @site.items
    @dependency_store.layouts = @site.layouts
    @checksum_store.objects = @site.items.to_a + @site.layouts.to_a + @site.code_snippets + [@site.config]
  end

  @site.freeze
end