1 Star 1 Fork 0

1701/gpa

加入 Gitee
与超过 1400万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
克隆/下载
implement.go 1.24 KB
一键复制 编辑 原始数据 按行查看 历史
1701 提交于 2021-08-09 10:09 +08:00 . 改回去
package generator
import (
"os"
"strings"
"text/template"
"time"
"gitee.com/knowgo/gpa/engine/generator/defines"
)
type inp struct {
Instance string
Name string
}
// createImplementFile 生成实现文件
func (g *Generator) createImplementFile() error {
var err error
dest := g.Info.CreateImplementFilePath("implement.go")
repos := []*inp{}
if err := g.Info.TraverseRepos(func(intf *defines.RepoInterface, rf *defines.RepoFile) error {
repos = append(repos, &inp{
Name: intf.Name,
Instance: strings.ToLower(intf.Name[:1]) + intf.Name[1:],
})
return nil
}); err != nil {
return err
}
// tmpl, err := template.New("implement").Parse(implemntsgo)
tmpl, err := template.ParseFS(templates, "resources/implement.tpl")
if err != nil {
panic(err)
}
file, err := os.OpenFile(dest, os.O_CREATE|os.O_TRUNC|os.O_RDWR, os.ModePerm)
if err != nil {
return err
}
defer file.Close()
// buf := bytes.NewBuffer([]byte{})
return tmpl.Execute(file, map[string]interface{}{
"dialect": g.Info.Dialect,
"reposPackage": g.Info.Package,
"reposPackageName": g.Info.PackageName,
"Time": time.Now().Format("2006-01-02 15:04:05"),
"packageName": g.Info.Dialect,
"Repos": repos,
})
}
Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
Go
1
https://gitee.com/knowgo/gpa.git
git@gitee.com:knowgo/gpa.git
knowgo
gpa
gpa
v0.2.14

搜索帮助