Sha256: 104c1294f6dd8ff0fd18aa9e832a540d6b1d4aaea8077551493b350654ed23b3

Contents?: true

Size: 538 Bytes

Versions: 4

Compression:

Stored size: 538 Bytes

Contents

# frozen_string_literal: true

module Nanoc
  module Int
    # @api private
    class OutdatednessStatus
      attr_reader :reasons
      attr_reader :props

      def initialize(reasons: [], props: Props.new)
        @reasons = reasons
        @props = props
      end

      def useful_to_apply?(rule)
        (rule.affected_props - @props.active).any?
      end

      def update(reason)
        self.class.new(
          reasons: @reasons + [reason],
          props: @props.merge(reason.props),
        )
      end
    end
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
nanoc-4.11.4 lib/nanoc/base/entities/outdatedness_status.rb
nanoc-4.11.3 lib/nanoc/base/entities/outdatedness_status.rb
nanoc-4.11.2 lib/nanoc/base/entities/outdatedness_status.rb
nanoc-4.11.1 lib/nanoc/base/entities/outdatedness_status.rb