Sha256: d82f9b6604dda09125a0e7f63f32af3baebe01395df32e8a57edeaf9e05bb02f

Contents?: true

Size: 1.12 KB

Versions: 2

Compression:

Stored size: 1.12 KB

Contents

# frozen_string_literal: true

module Nanoc
  module Int
    class Compiler
      module Stages
        class LoadStores < Nanoc::Int::Compiler::Stage
          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::Int::Store => C::Any
          def load_store(store)
            Nanoc::Int::Instrumentor.call(:store_loaded, store.class) do
              store.load
            end
          end
        end
      end
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
nanoc-4.11.2 lib/nanoc/base/services/compiler/stages/load_stores.rb
nanoc-4.11.1 lib/nanoc/base/services/compiler/stages/load_stores.rb