InfyOm\Generator\Generators\SwaggerGenerator::preparePropertyFields PHP Method

preparePropertyFields() public static method

public static preparePropertyFields ( $template, $fields )
    public static function preparePropertyFields($template, $fields)
    {
        $templates = [];
        foreach ($fields as $field) {
            $fieldName = $field['name'];
            $type = $field['type'];
            $format = $field['format'];
            $propertyTemplate = str_replace('$FIELD_NAME$', $fieldName, $template);
            $description = $field['description'];
            if (empty($description)) {
                $description = $fieldName;
            }
            $propertyTemplate = str_replace('$DESCRIPTION$', $description, $propertyTemplate);
            $propertyTemplate = str_replace('$FIELD_TYPE$', $type, $propertyTemplate);
            if (!empty($format)) {
                $format = ",\n *          format=\"" . $format . '"';
            }
            $propertyTemplate = str_replace('$FIELD_FORMAT$', $format, $propertyTemplate);
            $templates[] = $propertyTemplate;
        }
        return $templates;
    }

Usage Example

 public function generateSwagger($templateData)
 {
     $fieldTypes = SwaggerGenerator::generateTypes($this->commandData->inputFields);
     $template = TemplateUtil::getTemplate("model.model", 'swagger-generator');
     $template = TemplateUtil::fillTemplate($this->commandData->dynamicVars, $template);
     $template = str_replace('$REQUIRED_FIELDS$', implode(", ", $this->generateRequiredFields()), $template);
     $propertyTemplate = TemplateUtil::getTemplate("model.property", 'swagger-generator');
     $properties = SwaggerGenerator::preparePropertyFields($propertyTemplate, $fieldTypes);
     $template = str_replace('$PROPERTIES$', implode(",\n", $properties), $template);
     $templateData = str_replace('$DOCS$', $template, $templateData);
     return $templateData;
 }