Files
csharp/gen/KubernetesGenerator/ModelGenerator.cs
Boshi Lian fb553c5c0d refactor generator code (#727)
* refactor generator code

* remove unused files

* dotnet fmt
2021-10-14 06:55:19 -07:00

30 lines
913 B
C#

using System.IO;
using NSwag;
using Nustache.Core;
namespace KubernetesGenerator
{
public class ModelGenerator
{
private readonly ClassNameHelper classNameHelper;
public ModelGenerator(ClassNameHelper classNameHelper)
{
this.classNameHelper = classNameHelper;
}
public void Generate(SwaggerDocument swaggercooked, string outputDirectory)
{
Directory.CreateDirectory(Path.Combine(outputDirectory, "Models"));
foreach (var (_, def) in swaggercooked.Definitions)
{
var clz = classNameHelper.GetClassNameForSchemaDefinition(def);
Render.FileToFile(Path.Combine("templates", "Model.cs.template"),
new { clz, def, properties = def.Properties.Values },
Path.Combine(outputDirectory, "Models", $"{clz}.cs"));
}
}
}
}