...
1 package name
2
3 import (
4 "regexp"
5 "strings"
6
7 "github.com/gobuffalo/flect"
8 )
9
10 var alphanum = regexp.MustCompile(`[^a-zA-Z0-9_]+`)
11
12
13
14
15
16
17
18
19
20 func Folder(s string, exts ...string) string {
21 return New(s).Folder(exts...).String()
22 }
23
24
25
26
27
28
29
30
31
32 func (i Ident) Folder(exts ...string) Ident {
33 var parts []string
34
35 for _, part := range strings.Split(i.Original, "/") {
36 part = alphanum.ReplaceAllString(flect.Underscore(part), "")
37 parts = append(parts, part)
38 }
39
40 return New(strings.Join(parts, "/") + strings.Join(exts, ""))
41 }
42
View as plain text