Exemplo n.º 1
0
 /**
  * @covers Yosmanyga\Resource\Compiler\DelegatorCompiler::compile
  */
 public function testCurrent()
 {
     $internalCompiler1 = $this->getMock('Yosmanyga\\Resource\\Compiler\\CompilerInterface');
     $internalCompiler1->expects($this->once())->method('supports')->will($this->returnValue(true));
     $internalCompiler1->expects($this->once())->method('compile')->with('foo');
     $compiler = new DelegatorCompiler(array($internalCompiler1));
     $compiler->compile('foo');
 }
Exemplo n.º 2
0
 /**
  * @param \Yosmanyga\Validation\Resource\Definition\ArrayDefinition $definition
  *
  * @return \Yosmanyga\Validation\Validator\ArrayValidator
  */
 public function compile($definition)
 {
     $validator = new ExceptionValidator($definition->createValidator());
     $validator->validate($definition);
     // Try to compile map option
     // Just works if map is a validator
     try {
         $definition->map = $this->compiler->compile($definition->map);
     } catch (\RuntimeException $e) {
         // Ignore it if fails
         // Map could be a closure or anything else callable
     }
     return new ArrayValidator($definition->export());
 }
Exemplo n.º 3
0
 /**
  * @param \Yosmanyga\Validation\Resource\Definition\ObjectDefinition $definition
  *
  * @return \Yosmanyga\Validation\Validator\ObjectValidator
  */
 public function compile($definition)
 {
     $validators = array();
     if (isset($definition->validators)) {
         if (isset($definition->validators['properties'])) {
             foreach ($definition->validators['properties'] as $property => $validatorDefinitions) {
                 foreach ($validatorDefinitions as $validator) {
                     $validators[$property][] = parent::compile($validator);
                 }
             }
         }
     }
     return new ObjectValidator($validators);
 }