Sha256: 00bba924b39983158c7d66e3e181b394eff895be891f94395b84fd29e955c6e3

Contents?: true

Size: 1.13 KB

Versions: 6

Compression:

Stored size: 1.13 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::Core::Instrumentor.call(:store_loaded, store.class) do
              store.load
            end
          end
        end
      end
    end
  end
end

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
nanoc-4.11.8 lib/nanoc/base/services/compiler/stages/load_stores.rb
nanoc-4.11.7 lib/nanoc/base/services/compiler/stages/load_stores.rb
nanoc-4.11.6 lib/nanoc/base/services/compiler/stages/load_stores.rb
nanoc-4.11.5 lib/nanoc/base/services/compiler/stages/load_stores.rb
nanoc-4.11.4 lib/nanoc/base/services/compiler/stages/load_stores.rb
nanoc-4.11.3 lib/nanoc/base/services/compiler/stages/load_stores.rb