This is a new inflection engine to replace https://github.com/markbates/inflect designed to be more modular, more readable, and easier to fix issues on than the original.
$ go get -u -v github.com/gobuffalo/flect
The github.com/gobuffalo/flect
package contains "basic" inflection tools, like pluralization, singularization, etc...
In addition to helpful methods that take in a string
and return a string
, there is an Ident
type that can be used to create new, custom, inflection rules.
The Ident
type contains two fields.
Original
- This is the originalstring
that was used to create theIdent
Parts
- This is a[]string
that represents all of the "parts" of the string, that have been split apart, making the segments easier to work with
Examples of creating new inflection rules using Ident
can be found in the github.com/gobuffalo/flect/name
package.
The github.com/gobuffalo/flect/name
package contains more "business" inflection rules like creating proper names, table names, etc...