github.com/paketo-buildpacks/packit@v1.3.2-0.20211206231111-86b75c657449/internal/toml_writer.go (about) 1 package internal 2 3 import ( 4 "os" 5 6 "github.com/pelletier/go-toml" 7 ) 8 9 type TOMLWriter struct{} 10 11 func NewTOMLWriter() TOMLWriter { 12 return TOMLWriter{} 13 } 14 15 func (tw TOMLWriter) Write(path string, value interface{}) error { 16 file, err := os.OpenFile(path, os.O_CREATE|os.O_RDWR|os.O_TRUNC, 0644) 17 if err != nil { 18 return err 19 } 20 defer file.Close() 21 22 return toml.NewEncoder(file).Encode(value) 23 }