mirror of
https://github.com/git-chglog/git-chglog.git
synced 2026-07-23 19:07:37 +00:00
refactor: Refactor the main logic
This commit is contained in:
parent
2d5764a30d
commit
8f3171633c
2 changed files with 27 additions and 18 deletions
39
chglog.go
39
chglog.go
|
|
@ -43,11 +43,11 @@ type RenderData struct {
|
|||
|
||||
// Config ...
|
||||
type Config struct {
|
||||
Bin string
|
||||
Path string
|
||||
Template string
|
||||
Info *Info
|
||||
Options *Options
|
||||
Bin string
|
||||
WorkingDir string
|
||||
Template string
|
||||
Info *Info
|
||||
Options *Options
|
||||
}
|
||||
|
||||
// Generator ...
|
||||
|
|
@ -98,19 +98,11 @@ func (gen *Generator) Generate(w io.Writer, query string) error {
|
|||
}
|
||||
|
||||
func (gen *Generator) readVersions(query string) ([]*Version, error) {
|
||||
tags, err := gen.tagReader.ReadAll()
|
||||
tags, first, err := gen.getTags(query)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
first := ""
|
||||
if query != "" {
|
||||
tags, first, err = gen.tagSelector.Select(tags, query)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
}
|
||||
|
||||
versions := []*Version{}
|
||||
|
||||
for i, tag := range tags {
|
||||
|
|
@ -145,13 +137,30 @@ func (gen *Generator) readVersions(query string) ([]*Version, error) {
|
|||
return versions, nil
|
||||
}
|
||||
|
||||
func (gen *Generator) getTags(query string) ([]*Tag, string, error) {
|
||||
tags, err := gen.tagReader.ReadAll()
|
||||
if err != nil {
|
||||
return nil, "", err
|
||||
}
|
||||
|
||||
first := ""
|
||||
if query != "" {
|
||||
tags, first, err = gen.tagSelector.Select(tags, query)
|
||||
if err != nil {
|
||||
return nil, "", err
|
||||
}
|
||||
}
|
||||
|
||||
return tags, first, nil
|
||||
}
|
||||
|
||||
func (gen *Generator) workdir() (func() error, error) {
|
||||
cwd, err := os.Getwd()
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
err = os.Chdir(gen.config.Path)
|
||||
err = os.Chdir(gen.config.WorkingDir)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
|
|
|||
|
|
@ -68,9 +68,9 @@ func TestGeneratorWithTypeScopeSubject(t *testing.T) {
|
|||
})
|
||||
|
||||
gen := NewGenerator(&Config{
|
||||
Bin: "git",
|
||||
Path: filepath.Join(testRepoRoot, testName),
|
||||
Template: filepath.Join("fixtures", testName+".md"),
|
||||
Bin: "git",
|
||||
WorkingDir: filepath.Join(testRepoRoot, testName),
|
||||
Template: filepath.Join("fixtures", testName+".md"),
|
||||
Info: &Info{
|
||||
Title: "CHANGELOG Example",
|
||||
RepositoryURL: "https://github.com/git-chglog/git-chglog",
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue