...

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

Documentation: github.com/gobuffalo/flect

     1  package flect
     2  
     3  import (
     4  	"strings"
     5  	"unicode"
     6  )
     7  
     8  // Dasherize returns an alphanumeric, lowercased, dashed string
     9  //	Donald E. Knuth = donald-e-knuth
    10  //	Test with + sign = test-with-sign
    11  //	admin/WidgetID = admin-widget-id
    12  func Dasherize(s string) string {
    13  	return New(s).Dasherize().String()
    14  }
    15  
    16  // Dasherize returns an alphanumeric, lowercased, dashed string
    17  //	Donald E. Knuth = donald-e-knuth
    18  //	Test with + sign = test-with-sign
    19  //	admin/WidgetID = admin-widget-id
    20  func (i Ident) Dasherize() Ident {
    21  	var parts []string
    22  
    23  	for _, part := range i.Parts {
    24  		var x string
    25  		for _, c := range part {
    26  			if unicode.IsLetter(c) || unicode.IsDigit(c) {
    27  				x += string(c)
    28  			}
    29  		}
    30  		parts = xappend(parts, x)
    31  	}
    32  
    33  	return New(strings.ToLower(strings.Join(parts, "-")))
    34  }
    35  

View as plain text