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  }