protected function appendRule(Validatable $validator)
 {
     if (!$validator->getName() && $this->getName()) {
         $validator->setName($this->getName());
     }
     $this->rules[spl_object_hash($validator)] = $validator;
 }
 public function __construct($reference, Validatable $validator = null, $mandatory = true)
 {
     $this->setName($reference);
     if ($validator && !$validator->getName()) {
         $validator->setName($reference);
     }
     $this->reference = $reference;
     $this->validator = $validator;
     $this->mandatory = $mandatory;
 }
 /**
  * Validates the given data against the Respect\Validation validator.
  *
  * @param array $data
  *
  * @return string
  */
 protected function validate(array $data)
 {
     if (!$this->validator->validate($data)) {
         return $this->validator->getName();
     }
 }