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  }