Sha256: c60f382295ca3adb81e3abc4e202e3fd4dc31ee7da7828bb1d5e83dc148e72f3

Contents?: true

Size: 1.13 KB

Versions: 3

Compression:

Stored size: 1.13 KB

Contents

# frozen_string_literal: true

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

          def initialize(checksum_store:, compiled_content_cache:, dependency_store:, action_sequence_store:, outdatedness_store:)
            @checksum_store = checksum_store
            @compiled_content_cache = compiled_content_cache
            @dependency_store = dependency_store
            @action_sequence_store = action_sequence_store
            @outdatedness_store = outdatedness_store
          end

          contract C::None => C::Any
          def run
            load_store(@checksum_store)
            load_store(@compiled_content_cache)
            load_store(@dependency_store)
            load_store(@action_sequence_store)
            load_store(@outdatedness_store)
          end

          contract Nanoc::Core::Store => C::Any
          def load_store(store)
            Nanoc::Core::Instrumentor.call(:store_loaded, store.class) do
              store.load
            end
          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/load_stores.rb
nanoc-4.11.11 lib/nanoc/base/services/compiler/stages/load_stores.rb
nanoc-4.11.10 lib/nanoc/base/services/compiler/stages/load_stores.rb