...

Source file src/github.com/gobuffalo/flect/name/folder.go

Documentation: github.com/gobuffalo/flect/name

     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  // Folder returns a suitable folder name. It removes any special characters
    13  // from the given string `s` and returns a string consists of alpha-numeric
    14  // characters.
    15  //	admin/widget --> admin/widget
    16  //	adminUser --> admin_user
    17  //	foo_bar --> foo_bar
    18  //	Admin --> admin
    19  //	U$ser --> u_ser
    20  func Folder(s string, exts ...string) string {
    21  	return New(s).Folder(exts...).String()
    22  }
    23  
    24  // Folder returns a suitable folder name. It removes any special characters
    25  // from the given string `s` and returns a string consists of alpha-numeric
    26  // characters.
    27  //	admin/widget --> admin/widget
    28  //	adminUser --> admin_user
    29  //	foo_bar --> foo_bar
    30  //	Admin --> admin
    31  //	U$ser --> u_ser
    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