Sha256: 953421d8de827ef243c5ef68f22cf965b91c213a9907940c23d9c2825657f6cf

Contents?: true

Size: 881 Bytes

Versions: 18

Compression:

Stored size: 881 Bytes

Contents

# frozen_string_literal: true

module Nanoc::Int::Compiler::Stages
  class Preprocess < Nanoc::Int::Compiler::Stage
    def initialize(action_provider:, site:, dependency_store:, checksum_store:)
      @action_provider = action_provider
      @site = site
      @dependency_store = dependency_store
      @checksum_store = checksum_store
    end

    def run
      return if @site.preprocessed?

      if @action_provider.need_preprocessing?
        @site.data_source = Nanoc::Int::InMemDataSource.new(@site.items, @site.layouts, @site.data_source)
        @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.mark_as_preprocessed
      @site.freeze
    end
  end
end

Version data entries

18 entries across 18 versions & 1 rubygems

Version Path
nanoc-4.11.0 lib/nanoc/base/services/compiler/stages/preprocess.rb
nanoc-4.10.4 lib/nanoc/base/services/compiler/stages/preprocess.rb
nanoc-4.10.3 lib/nanoc/base/services/compiler/stages/preprocess.rb
nanoc-4.10.2 lib/nanoc/base/services/compiler/stages/preprocess.rb
nanoc-4.10.1 lib/nanoc/base/services/compiler/stages/preprocess.rb
nanoc-4.10.0 lib/nanoc/base/services/compiler/stages/preprocess.rb
nanoc-4.9.9 lib/nanoc/base/services/compiler/stages/preprocess.rb
nanoc-4.9.8 lib/nanoc/base/services/compiler/stages/preprocess.rb
nanoc-4.9.7 lib/nanoc/base/services/compiler/stages/preprocess.rb
nanoc-4.9.6 lib/nanoc/base/services/compiler/stages/preprocess.rb
nanoc-4.9.5 lib/nanoc/base/services/compiler/stages/preprocess.rb
nanoc-4.9.4 lib/nanoc/base/services/compiler/stages/preprocess.rb
nanoc-4.9.3 lib/nanoc/base/services/compiler/stages/preprocess.rb
nanoc-4.9.2 lib/nanoc/base/services/compiler/stages/preprocess.rb
nanoc-4.9.1 lib/nanoc/base/services/compiler/stages/preprocess.rb
nanoc-4.9.0 lib/nanoc/base/services/compiler/stages/preprocess.rb
nanoc-4.8.19 lib/nanoc/base/services/compiler/stages/preprocess.rb
nanoc-4.8.18 lib/nanoc/base/services/compiler/stages/preprocess.rb