Sha256: a4e10c3bb025bbcd7034f826359c23f653e216a4292f9587dc3d65e5c8e7028d

Contents?: true

Size: 793 Bytes

Versions: 2

Compression:

Stored size: 793 Bytes

Contents

# frozen_string_literal: true

module Nanoc
  module Int
    class ChecksumCollection
      include Nanoc::Core::ContractsSupport

      c_obj = C::Or[Nanoc::Core::Item, Nanoc::Core::Layout, Nanoc::Core::Configuration, Nanoc::Core::CodeSnippet]

      def initialize(checksums)
        @checksums = checksums
      end

      contract c_obj => C::Maybe[String]
      def checksum_for(obj)
        @checksums[obj.reference]
      end

      contract c_obj => C::Maybe[String]
      def content_checksum_for(obj)
        @checksums[[obj.reference, :content]]
      end

      contract c_obj => C::Maybe[C::HashOf[Symbol, String]]
      def attributes_checksum_for(obj)
        @checksums[[obj.reference, :each_attribute]]
      end

      def to_h
        @checksums
      end
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
nanoc-4.11.2 lib/nanoc/base/entities/checksum_collection.rb
nanoc-4.11.1 lib/nanoc/base/entities/checksum_collection.rb