Sha256: 5d3d122232939b60abde873f3a06c687791f6942307078f310a22c65135665b3

Contents?: true

Size: 457 Bytes

Versions: 6

Compression:

Stored size: 457 Bytes

Contents

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

6 entries across 6 versions & 1 rubygems

Version Path
nanoc-4.7.9 lib/nanoc/base/entities/outdatedness_status.rb
nanoc-4.7.8 lib/nanoc/base/entities/outdatedness_status.rb
nanoc-4.7.7 lib/nanoc/base/entities/outdatedness_status.rb
nanoc-4.7.6 lib/nanoc/base/entities/outdatedness_status.rb
nanoc-4.7.5 lib/nanoc/base/entities/outdatedness_status.rb
nanoc-4.7.4 lib/nanoc/base/entities/outdatedness_status.rb