public function apply(Buildable $build, Logger $logger)
{
$cnt = 0;
if ($rules = $this->rules()) {
// todo: should backup all files in one time (some patch rules have the same file names)
foreach ($rules as $rule) {
$rule->backup($build, $logger);
}
foreach ($rules as $rule) {
if ($patched = $rule->apply($build, $logger)) {
$cnt += $patched;
}
}
}
return $cnt;
}