Sha256: cf342bd89f5129f60e4d44376af4163ee6549fb606ef403dcc7faaf1dbe87f26

Contents?: true

Size: 981 Bytes

Versions: 3

Compression:

Stored size: 981 Bytes

Contents

# frozen_string_literal: true

module Nanoc
  module Int
    class Compiler
      module Stages
        class BuildReps < Nanoc::Core::CompilationStage
          include Nanoc::Core::ContractsSupport

          contract C::KeywordArgs[site: Nanoc::Core::Site, action_provider: Nanoc::Core::ActionProvider] => C::Any
          def initialize(site:, action_provider:)
            @site = site
            @action_provider = action_provider
          end

          def run
            reps = Nanoc::Core::ItemRepRepo.new

            builder = Nanoc::Int::ItemRepBuilder.new(
              @site, @action_provider, reps
            )

            action_sequences = builder.run

            @site.layouts.each do |layout|
              action_sequences[layout] = @action_provider.action_sequence_for(layout)
            end

            {
              reps: reps,
              action_sequences: action_sequences,
            }
          end
        end
      end
    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
nanoc-4.11.12 lib/nanoc/base/services/compiler/stages/build_reps.rb
nanoc-4.11.11 lib/nanoc/base/services/compiler/stages/build_reps.rb
nanoc-4.11.10 lib/nanoc/base/services/compiler/stages/build_reps.rb