github.com/wawandco/ox@v0.13.6-0.20230809142027-913b3d837f2a/plugins/tools/flect/initializer.go (about) 1 package flect 2 3 import ( 4 "context" 5 "os" 6 7 "github.com/wawandco/ox/internal/log" 8 "github.com/wawandco/ox/plugins/base/new" 9 ) 10 11 type Initializer struct{} 12 13 func (i Initializer) Name() string { 14 return "flect/initializer" 15 } 16 17 func (i *Initializer) Initialize(ctx context.Context, options new.Options) error { 18 19 yml := options.Folder + "/inflections.yml" 20 content := `{ "singular": "plural" }` 21 22 _, err := os.Stat(yml) 23 if err == nil { 24 log.Warn("inflections.yml file already exist, skipping generation") 25 26 return nil 27 } 28 29 if !os.IsNotExist(err) { 30 return err 31 } 32 // create file if it does not exist 33 file, err := os.Create(yml) 34 if err != nil { 35 return (err) 36 } 37 38 _, err = os.OpenFile(yml, os.O_RDWR, 0644) 39 if err != nil { 40 return (err) 41 } 42 43 _, err = file.WriteString(content) 44 if err != nil { 45 return (err) 46 } 47 48 file.Close() 49 50 return nil 51 }