github.com/segakazzz/buffalo@v0.16.22-0.20210119082501-1f52048d3feb/genny/build/apkg.go (about) 1 package build 2 3 import ( 4 "github.com/gobuffalo/genny/v2" 5 ) 6 7 func apkg(opts *Options) (*genny.Generator, error) { 8 g := genny.New() 9 10 if err := opts.Validate(); err != nil { 11 return g, err 12 } 13 14 g.RunFn(copyInflections) 15 g.RunFn(copyDatabase) 16 17 return g, nil 18 } 19 20 func copyDatabase(r *genny.Runner) error { 21 defer func() { 22 r.Disk.Remove("database.yml") 23 }() 24 f, err := r.FindFile("database.yml") 25 if err != nil { 26 f, err = r.FindFile("config/database.yml") 27 if err != nil { 28 // it's ok to not have this file 29 return nil 30 } 31 } 32 return r.File(genny.NewFile("a/database.yml", f)) 33 } 34 35 func copyInflections(r *genny.Runner) error { 36 defer func() { 37 r.Disk.Remove("inflections.json") 38 }() 39 f, err := r.FindFile("inflections.json") 40 if err != nil { 41 // it's ok to not have this file 42 return nil 43 } 44 return r.File(genny.NewFile("a/inflections.json", f)) 45 }