/**
  * @param string            $dir dir
  * @param DataContainer\Api $api api
  */
 private function writeFiles($dir, DataContainer\Api $api)
 {
     if (!is_dir($dir)) {
         mkdir($dir, 0777, true);
     }
     $files = array();
     $files['api-docs.json'] = json_encode($api->getApiDocs()->toArray());
     foreach ($api->getResources() as $path => $resource) {
         $files[sprintf('%s.json', $path)] = json_encode($resource->toArray());
     }
     foreach ($files as $path => $content) {
         file_put_contents($dir . DIRECTORY_SEPARATOR . $path, $content);
     }
 }
Exemple #2
0
 /**
  * {@inheritdoc}
  */
 public function transform(ApiModel $dokapiApi)
 {
     $api = new DataContainer\Api($dokapiApi->getVersion(), $this->generateApiDocs($dokapiApi));
     foreach ($dokapiApi->getResources() as $dokapiResource) {
         $resource = new Model\Resource();
         $resource->setApiVersion($dokapiApi->getVersion());
         $resource->setBasePath($dokapiApi->getPath());
         $resource->setResourcePath($dokapiResource->getId());
         $resource->setConsumes($dokapiApi->getConsumes());
         $resource->setProduces($dokapiApi->getProduces());
         $this->addOperations($dokapiResource, $resource);
         $this->addModels($dokapiApi->getModels(), $resource);
         $api->addResource($dokapiResource->getId(), $resource);
     }
     return $api;
 }