...

Source file src/github.com/gobuffalo/flect/pascalize.go

Documentation: github.com/gobuffalo/flect

     1  package flect
     2  
     3  import (
     4  	"strings"
     5  )
     6  
     7  // Pascalize returns a string with each segment capitalized
     8  //	user = User
     9  //	bob dylan = BobDylan
    10  //	widget_id = WidgetID
    11  func Pascalize(s string) string {
    12  	return New(s).Pascalize().String()
    13  }
    14  
    15  // Pascalize returns a string with each segment capitalized
    16  //	user = User
    17  //	bob dylan = BobDylan
    18  //	widget_id = WidgetID
    19  func (i Ident) Pascalize() Ident {
    20  	c := i.Camelize()
    21  	if len(c.String()) == 0 {
    22  		return c
    23  	}
    24  	if len(i.Parts) == 0 {
    25  		return i
    26  	}
    27  	capLen := 1
    28  	if _, ok := baseAcronyms[strings.ToUpper(i.Parts[0])]; ok {
    29  		capLen = len(i.Parts[0])
    30  	}
    31  	return New(string(strings.ToUpper(c.Original[0:capLen])) + c.Original[capLen:])
    32  }
    33  

View as plain text