autoupdate/provider.go

26 lines
552 B
Go

package main
import "fmt"
type Version interface {
String() string
}
type VersionProvider interface {
GetVersion() (Version, error)
}
func GetProvider(p string, args map[string]interface{}) (VersionProvider, error) {
switch p {
case "github":
drafts, _ := args["drafts"].(bool)
prereleases, _ := args["prereleases"].(bool)
return &GitHubVersionProvider{
Repository: args["repository"].(string),
IncludeDrafts: drafts,
IncludePrereleases: prereleases,
}, nil
}
return nil, fmt.Errorf("unknown provider: %s", p)
}