stash/vendor/github.com/gobuffalo/flect/name/resource.go
2019-02-09 04:32:50 -08:00

24 lines
407 B
Go

package name
import (
"strings"
)
// Resource version of a name
func (n Ident) Resource() Ident {
name := n.Underscore().String()
x := strings.FieldsFunc(name, func(r rune) bool {
return r == '_' || r == '/'
})
for i, w := range x {
if i == len(x)-1 {
x[i] = New(w).Pluralize().Pascalize().String()
continue
}
x[i] = New(w).Pascalize().String()
}
return New(strings.Join(x, ""))
}