github.com/JarrahG/buffalocli@v0.0.0-20230801092127-b85bfd5d395a/internal/genny/fix/apptoml.go (about) 1 package fix 2 3 import ( 4 "bytes" 5 "path/filepath" 6 7 "github.com/BurntSushi/toml" 8 "github.com/gobuffalo/genny/v2" 9 ) 10 11 func EncodeAppToml(opts *Options) genny.RunFn { 12 return func(r *genny.Runner) error { 13 p := "config/buffalo-app.toml" 14 if _, err := r.FindFile(p); err == nil { 15 return nil 16 } 17 dir := genny.NewDir(filepath.Dir(p), 0o755) 18 if err := r.File(dir); err != nil { 19 return err 20 } 21 22 bb := &bytes.Buffer{} 23 if err := toml.NewEncoder(bb).Encode(opts.App); err != nil { 24 return err 25 } 26 27 f := genny.NewFile(p, bb) 28 return r.File(f) 29 } 30 }