Class: Nanoc::Core::OutdatednessRules::UsesAlwaysOutdatedFilter

Inherits:
Nanoc::Core::OutdatednessRule show all
Defined in:
lib/nanoc/core/outdatedness_rules/uses_always_outdated_filter.rb

Instance Method Summary collapse

Methods inherited from Nanoc::Core::OutdatednessRule

affected_props, affects_props, #call, #inspect

Methods included from ContractsSupport

enabled?, included, setup_once, warn_about_performance

Instance Method Details

#any_always_outdated?(seq) ⇒ Boolean

Returns:

  • (Boolean)


16
17
18
19
20
21
22
# File 'lib/nanoc/core/outdatedness_rules/uses_always_outdated_filter.rb', line 16

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

#apply(obj, outdatedness_checker) ⇒ Object



9
10
11
12
13
14
# File 'lib/nanoc/core/outdatedness_rules/uses_always_outdated_filter.rb', line 9

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