Esempio n. 1
0
 /**
  * @param Type $type
  * @param array $metadata
  * @param FileTypeAdapter $fileTypeAdapter
  * @param null $itemIndex
  */
 private function writeTypeToFile(Type $type, array &$metadata, FileTypeAdapter $fileTypeAdapter, $itemIndex = null)
 {
     $filenameData = [self::FILENAME_DATA_METADATA => $metadata];
     if ($type->description()->nativeType() === NativeType::DICTIONARY) {
         $filenameData[self::FILENAME_DATA_DATA] = $this->dictionaryToArray($type);
     } elseif ($type instanceof SingleValue) {
         $filenameData[self::FILENAME_DATA_VALUE] = $type->value();
     }
     if (!is_null($itemIndex)) {
         $filenameData[self::FILENAME_DATA_ITEM_INDEX] = $itemIndex;
     }
     $filename = $this->fileNameRenderer->render($metadata[self::META_FILENAME_TEMPLATE], $filenameData);
     $fileTypeAdapter->writeDataOfType($metadata[self::META_PATH] . DIRECTORY_SEPARATOR . $filename, $type, $metadata);
 }
 /**
  * @test
  */
 public function it_uses_configured_mixins_to_resolve_sections()
 {
     $this->assertEquals(sprintf("data_%s.json", date('d.m.Y')), $this->fileNameRenderer->render('data_{{#now}}d.m.Y{{/now}}.{{type}}', ['type' => 'json']));
 }