Sha256: 234f8422cc4ef96d9159bc30342eb647688ad3e89ddf2a0e145862d3f602aaad

Contents?: true

Size: 1.25 KB

Versions: 13

Compression:

Stored size: 1.25 KB

Contents

# frozen_string_literal: true

module Nanoc::Int
  # @api private
  class CompilerLoader
    def load(site, action_provider: nil)
      action_sequence_store = Nanoc::Int::ActionSequenceStore.new(site: site)

      dependency_store =
        Nanoc::Int::DependencyStore.new(site.items, site.layouts, site.config, site: site)

      objects = site.items.to_a + site.layouts.to_a + site.code_snippets + [site.config]

      checksum_store =
        Nanoc::Int::ChecksumStore.new(site: site, objects: objects)

      item_rep_repo = Nanoc::Int::ItemRepRepo.new

      action_provider ||= Nanoc::Int::ActionProvider.named(:rule_dsl).for(site)

      outdatedness_store =
        Nanoc::Int::OutdatednessStore.new(site: site, reps: item_rep_repo)

      compiled_content_cache =
        Nanoc::Int::CompiledContentCache.new(
          site: site,
          items: site.items,
        )

      params = {
        compiled_content_cache: compiled_content_cache,
        checksum_store: checksum_store,
        action_sequence_store: action_sequence_store,
        dependency_store: dependency_store,
        reps: item_rep_repo,
        action_provider: action_provider,
        outdatedness_store: outdatedness_store,
      }

      Nanoc::Int::Compiler.new(site, params)
    end
  end
end

Version data entries

13 entries across 13 versions & 1 rubygems

Version Path
nanoc-4.8.9 lib/nanoc/base/services/compiler_loader.rb
nanoc-4.8.8 lib/nanoc/base/services/compiler_loader.rb
nanoc-4.8.7 lib/nanoc/base/services/compiler_loader.rb
nanoc-4.8.6 lib/nanoc/base/services/compiler_loader.rb
nanoc-4.8.5 lib/nanoc/base/services/compiler_loader.rb
nanoc-4.8.4 lib/nanoc/base/services/compiler_loader.rb
nanoc-4.8.3 lib/nanoc/base/services/compiler_loader.rb
nanoc-4.8.2 lib/nanoc/base/services/compiler_loader.rb
nanoc-4.8.1 lib/nanoc/base/services/compiler_loader.rb
nanoc-4.8.0 lib/nanoc/base/services/compiler_loader.rb
nanoc-4.7.14 lib/nanoc/base/services/compiler_loader.rb
nanoc-4.7.13 lib/nanoc/base/services/compiler_loader.rb
nanoc-4.7.12 lib/nanoc/base/services/compiler_loader.rb