Class: Nanoc::Int::OutdatednessRules::UsesAlwaysOutdatedFilter

Inherits:
Nanoc::Int::OutdatednessRule
  • Object
show all
Defined in:
lib/nanoc/base/services/outdatedness_rules/uses_always_outdated_filter.rb

Instance Method Summary collapse

Instance Method Details

#any_always_outdated?(seq) ⇒ Boolean

Returns:

  • (Boolean)


14
15
16
17
18
19
20
# File 'lib/nanoc/base/services/outdatedness_rules/uses_always_outdated_filter.rb', line 14

def any_always_outdated?(seq)
  seq
    .select { |a| a.is_a?(Nanoc::Int::ProcessingActions::Filter) }
    .map { |a| Nanoc::Filter.named(a.filter_name) }
    .compact
    .any?(&:always_outdated?)
end

#apply(obj, outdatedness_checker) ⇒ Object



7
8
9
10
11
12
# File 'lib/nanoc/base/services/outdatedness_rules/uses_always_outdated_filter.rb', line 7

def apply(obj, outdatedness_checker)
  seq = outdatedness_checker.action_sequence_for(obj)
  if any_always_outdated?(seq)
    Nanoc::Int::OutdatednessReasons::UsesAlwaysOutdatedFilter
  end
end