예제 #1
0
 /**
  * @param ResourceInterface $resource
  * @param array $data
  */
 public function generate(ResourceInterface $resource, array $data)
 {
     $filePath = $this->getFilePath($resource);
     $fileExisted = $this->fileExists($filePath);
     $this->generator->generate($resource, $data);
     $this->dispatchEventIfFileWasCreated($fileExisted, $filePath);
 }
 function it_chooses_generator_by_priority(GeneratorInterface $generator1, GeneratorInterface $generator2, ResourceInterface $resource)
 {
     $generator1->supports($resource, 'class', array('class' => 'CustomLoader'))->willReturn(true);
     $generator1->getPriority()->willReturn(0);
     $generator2->supports($resource, 'class', array('class' => 'CustomLoader'))->willReturn(true);
     $generator2->getPriority()->willReturn(2);
     $generator1->generate($resource, array('class' => 'CustomLoader'))->shouldNotBeCalled();
     $generator2->generate($resource, array('class' => 'CustomLoader'))->shouldBeCalled();
     $this->registerGenerator($generator1);
     $this->registerGenerator($generator2);
     $this->generate($resource, 'class', array('class' => 'CustomLoader'));
 }
 /**
  * {@inheritDoc}
  */
 public function generate(ResourceInterface $resource, array $data)
 {
     $fileExistsMap = $this->mapFilePathsToExistence($this->getFilePathsFromResource($resource));
     $this->delegate->generate($resource, $data);
     $this->stageRelevantFiles($fileExistsMap);
 }