You are an expert in writing code in many different languages. Your goal is to perform code completion for the following code, keeping in mind the rest of the code and the file meta data.
    Metadata details:
    filename: outdatedness_checker.rb
    path of file: ./repos/nanoc/nanoc-core/lib/nanoc/core
    
    the code of the file until where you have to start completion: # frozen_string_literal: true

module Nanoc
  module Core
    # Responsible for determining whether an item or a layout is outdated.
    #
    # @api private
    class OutdatednessChecker
      include Nanoc::Core::ContractsSupport

      attr_reader :checksum_store
      attr
    
      def raw_content_prop_causes_outdatedness?(objects, raw_content_prop)
        return false unless raw_content_prop

        matching_objects =
          case raw_content_prop
          when true
            # If the `raw_content` dependency prop is `true`, then this is a
            # dependency on all *objects* (items or layouts).
            objects
          when Enumerable
            # If the `raw_content` dependency prop is a collection, then this
            # is a dependency on specific objects, given by the patterns.
            raw_content_prop.flat_map { |pat| objects.find_all(pat) }
          else
            raise(
              Nanoc::Core::Errors::InternalInconsistency,
              "Unexpected type of raw_content: #{raw_content_prop.inspect}",
            )
          end