github.com/wawandco/oxpecker@v1.5.7-0.20210910201653-5958d4afdd89/tools/buffalo/config/initializer.go (about)

     1  package config
     2  
     3  import (
     4  	"context"
     5  	"embed"
     6  	"path/filepath"
     7  
     8  	"github.com/wawandco/oxpecker/internal/source"
     9  	"github.com/wawandco/oxpecker/lifecycle/new"
    10  )
    11  
    12  var (
    13  	//go:embed templates
    14  	templates embed.FS
    15  )
    16  
    17  // Initializer
    18  type Initializer struct{}
    19  
    20  func (i Initializer) Name() string {
    21  	return "middleware/initializer"
    22  }
    23  
    24  func (i *Initializer) Initialize(ctx context.Context, options new.Options) error {
    25  	template, err := templates.ReadFile("templates/postgres.database.yml.tmpl")
    26  	if err != nil {
    27  		return err
    28  	}
    29  
    30  	filename := filepath.Join(options.Folder, "config", "database.yml")
    31  	err = source.Build(filename, string(template), options.Name)
    32  	return err
    33  }