lib/nanoc/base/services/outdatedness_checker.rb in nanoc-4.7.2 vs lib/nanoc/base/services/outdatedness_checker.rb in nanoc-4.7.3
- old
+ new
@@ -56,13 +56,16 @@
contract C::ArrayOf[Class], C::Or[Nanoc::Int::Item, Nanoc::Int::ItemRep, Nanoc::Int::Layout], OutdatednessStatus => C::Maybe[OutdatednessStatus]
def apply_rules(rules, obj, status = OutdatednessStatus.new)
rules.inject(status) do |acc, rule|
if !acc.useful_to_apply?(rule)
acc
- elsif rule.instance.call(obj, @outdatedness_checker)
- acc.update(rule.instance.reason)
else
- acc
+ reason = rule.instance.call(obj, @outdatedness_checker)
+ if reason
+ acc.update(reason)
+ else
+ acc
+ end
end
end
end
contract C::ArrayOf[Class], C::ArrayOf[C::Or[Nanoc::Int::Item, Nanoc::Int::ItemRep, Nanoc::Int::Layout]] => C::Maybe[OutdatednessStatus]