Changed Not rule rewriting to clone objects

This commit is contained in:
Alexandre Gomes Gaigalas 2011-04-11 14:20:39 -03:00
parent 9b6da3e3e2
commit 7a4d52cd38
2 changed files with 6 additions and 6 deletions

View file

@ -8,7 +8,6 @@ use Respect\Validation\Exceptions\ValidationException;
abstract class AbstractRule implements Validatable
{
protected $exception;
protected $name;
public function __construct()

View file

@ -45,16 +45,17 @@ class Not extends AbstractRule
protected function absorbComposite(AbstractComposite $rule)
{
$rules = $rule->getRules();
$rule->removeRules();
$clone = clone $rule;
$rules = $clone->getRules();
$clone->removeRules();
foreach ($rules as &$r)
if ($r instanceof AbstractComposite)
$rule->addRule($this->absorbComposite($r));
$clone->addRule($this->absorbComposite($r));
else
$rule->addRule(new static($r));
$clone->addRule(new static($r));
return $rule;
return $clone;
}
}