1 package name 2 3 import ( 4 "strings" 5 ) 6 7 // Resource version of a name 8 func (n Ident) Resource() Ident { 9 name := n.Underscore().String() 10 x := strings.FieldsFunc(name, func(r rune) bool { 11 return r == '_' || r == '/' 12 }) 13 14 for i, w := range x { 15 if i == len(x)-1 { 16 x[i] = New(w).Pluralize().Pascalize().String() 17 continue 18 } 19 20 x[i] = New(w).Pascalize().String() 21 } 22 23 return New(strings.Join(x, "")) 24 } 25