Sha256: 56a9221b283672f9a460a5fd4f54540346eb918dedd4d14871793b44bf65c389

Contents?: true

Size: 864 Bytes

Versions: 4

Compression:

Stored size: 864 Bytes

Contents

# frozen_string_literal: true

module Nanoc
  module Int
    module OutdatednessRules
      class CodeSnippetsModified < Nanoc::Core::OutdatednessRule
        DDMemoize.activate(self)

        include Nanoc::Core::ContractsSupport

        affects_props :raw_content, :attributes, :compiled_content, :path

        def apply(_obj, outdatedness_checker)
          if any_snippets_modified?(outdatedness_checker)
            Nanoc::Core::OutdatednessReasons::CodeSnippetsModified
          end
        end

        private

        memoized def any_snippets_modified?(outdatedness_checker)
          outdatedness_checker.site.code_snippets.any? do |cs|
            ch_old = outdatedness_checker.checksum_store[cs]
            ch_new = outdatedness_checker.checksums.checksum_for(cs)
            ch_old != ch_new
          end
        end
      end
    end
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
nanoc-4.11.12 lib/nanoc/base/services/outdatedness_rules/code_snippets_modified.rb
nanoc-4.11.11 lib/nanoc/base/services/outdatedness_rules/code_snippets_modified.rb
nanoc-4.11.10 lib/nanoc/base/services/outdatedness_rules/code_snippets_modified.rb
nanoc-4.11.9 lib/nanoc/base/services/outdatedness_rules/code_snippets_modified.rb