-
Notifications
You must be signed in to change notification settings - Fork 30
/
quickstarts.go
55 lines (50 loc) · 1.16 KB
/
quickstarts.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
package quickstarts
import (
"strings"
)
func (q *Quickstart) SurveyName() string {
if q.Owner == JenkinsXQuickstartsOwner {
return q.Name
}
// TODO maybe make a nicer string?
return q.ID
}
func (f *QuickstartFilter) Matches(q *Quickstart) bool {
if strings.Contains(q.ID, "WIP-") {
return false
}
text := f.Text
if text != "" && !strings.Contains(q.ID, text) {
return false
}
owner := strings.ToLower(f.Owner)
if owner != "" && strings.EqualFold(q.Owner, owner) {
return false
}
language := strings.ToLower(f.Language)
if language != "" && strings.EqualFold(q.Language, language) {
return false
}
framework := strings.ToLower(f.Framework)
if framework != "" && strings.EqualFold(q.Framework, framework) {
return false
}
if !f.AllowML && strings.HasPrefix(q.Name, "ML-") {
return false
}
return true
}
// GetGitServer returns the git server to use
func (q *Quickstart) GetGitServer() string {
if q.GitServer == "" {
q.GitServer = "https://github.com"
}
return q.GitServer
}
// GetGitKind returns the kind of git provider to use
func (q *Quickstart) GetGitKind() string {
if q.GitKind == "" {
q.GitKind = "github"
}
return q.GitKind
}