chore: update function documentation

This commit is contained in:
DataHearth 2022-06-14 23:11:56 +02:00
parent 2c0f537087
commit 1814f5c935
No known key found for this signature in database
GPG Key ID: E88FD356ACC5F3C4
2 changed files with 20 additions and 7 deletions

View File

@ -57,7 +57,7 @@ You can select a specific go version or even set version for directories.`,
}
ghTags := pkg.NewTags(release, ctx.Context)
release, err := ghTags.CheckReleaseExists(ctx.Bool("beta"), ctx.Bool("rc"))
release, err := ghTags.GetRelease(ctx.Bool("beta"), ctx.Bool("rc"))
if err != nil {
return err
}

View File

@ -16,6 +16,12 @@ var (
ErrEmptyTags = errors.New("no tags found")
)
type TagsAction interface {
CheckReleaseExists(beta, rc bool) (string, error)
getTagsRef() ([]*github.Reference, error)
getLatestRelease(beta, rc bool) (string, error)
}
type Tags struct {
release string
client github.Client
@ -30,11 +36,13 @@ func NewTags(release string, ctx context.Context) Tags {
}
}
// checkReleaseExists retrieves tags from "golang/go" and check whether
// GetRelease retrieves tags from "golang/go" and check whether
// the given release exists in it
func (t Tags) CheckReleaseExists(beta, rc bool) (string, error) {
//
// Returns the found release or an error
func (t Tags) GetRelease(beta, rc bool) (string, error) {
if t.release == "lts" {
return t.getLatestRelease(beta, rc)
return t.getLatestTag(beta, rc)
}
refs, err := t.getTagsRef()
@ -80,9 +88,10 @@ func (t Tags) CheckReleaseExists(beta, rc bool) (string, error) {
return "", nil
}
// getTags retrieves 100 tags from parameter PAGE
// getTagsRef retrieves all tags from golang/go
//
// It returns a list of tags reference if there is as least one tag in the result and an error otherwise
// Returns a list of tags reference if there is as least one
// or an error otherwise.
func (t Tags) getTagsRef() ([]*github.Reference, error) {
refs, response, err := t.client.Git.ListMatchingRefs(t.ctx, "golang", "go", &github.ReferenceListOptions{
Ref: "tags/go",
@ -101,7 +110,11 @@ func (t Tags) getTagsRef() ([]*github.Reference, error) {
return refs, nil
}
func (t Tags) getLatestRelease(beta, rc bool) (string, error) {
// getLatestTag gather find the latest version of golang.
// beta and rc version can be specified.
//
// Returns the latest release or an error
func (t Tags) getLatestTag(beta, rc bool) (string, error) {
refs, err := t.getTagsRef()
if err != nil {
if err == ErrEmptyTags {