Sha256: b894e611ccb67b23586d1f86cf81bef2b8fd684f1fcd232814d9ea003e414b7d

Contents?: true

Size: 488 Bytes

Versions: 41

Compression:

Stored size: 488 Bytes

Contents

# frozen_string_literal: true

module Nanoc::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

Version data entries

41 entries across 41 versions & 1 rubygems

Version Path
nanoc-4.11.0 lib/nanoc/base/entities/outdatedness_status.rb
nanoc-4.10.4 lib/nanoc/base/entities/outdatedness_status.rb
nanoc-4.10.3 lib/nanoc/base/entities/outdatedness_status.rb
nanoc-4.10.2 lib/nanoc/base/entities/outdatedness_status.rb
nanoc-4.10.1 lib/nanoc/base/entities/outdatedness_status.rb
nanoc-4.10.0 lib/nanoc/base/entities/outdatedness_status.rb
nanoc-4.9.9 lib/nanoc/base/entities/outdatedness_status.rb
nanoc-4.9.8 lib/nanoc/base/entities/outdatedness_status.rb
nanoc-4.9.7 lib/nanoc/base/entities/outdatedness_status.rb
nanoc-4.9.6 lib/nanoc/base/entities/outdatedness_status.rb
nanoc-4.9.5 lib/nanoc/base/entities/outdatedness_status.rb
nanoc-4.9.4 lib/nanoc/base/entities/outdatedness_status.rb
nanoc-4.9.3 lib/nanoc/base/entities/outdatedness_status.rb
nanoc-4.9.2 lib/nanoc/base/entities/outdatedness_status.rb
nanoc-4.9.1 lib/nanoc/base/entities/outdatedness_status.rb
nanoc-4.9.0 lib/nanoc/base/entities/outdatedness_status.rb
nanoc-4.8.19 lib/nanoc/base/entities/outdatedness_status.rb
nanoc-4.8.18 lib/nanoc/base/entities/outdatedness_status.rb
nanoc-4.8.17 lib/nanoc/base/entities/outdatedness_status.rb
nanoc-4.8.16 lib/nanoc/base/entities/outdatedness_status.rb