private static ISerializer BuildSerializer(SerializeYamlSettings settings) { var serializerBuilder = new SerializerBuilder(); if (!(settings.NamingConvention is null)) { serializerBuilder = serializerBuilder.WithNamingConvention(settings.NamingConvention); } var serializer = serializerBuilder.Build(); return(serializer); }
public static string SerializeYaml <T>(this ICakeContext context, T instance, SerializeYamlSettings settings) { if (settings is null) { throw new ArgumentNullException(nameof(settings)); } var s = BuildSerializer(settings); var sb = new StringBuilder(); using (var tw = new StringWriter(sb)) { s.Serialize(tw, instance); } return(sb.ToString()); }
public static void SerializeYamlToFile <T>(this ICakeContext context, FilePath filename, T instance, SerializeYamlSettings settings) { if (settings is null) { throw new ArgumentNullException(nameof(settings)); } var s = BuildSerializer(settings); using (var tw = new StreamWriter(File.Open(filename.MakeAbsolute(context.Environment).FullPath, FileMode.Create))) { s.Serialize(tw, instance); } }