diff --git a/lib/inflection.js b/lib/inflection.js index 29172eb..2d89839 100644 --- a/lib/inflection.js +++ b/lib/inflection.js @@ -119,6 +119,7 @@ var inflection = new (function () { setPlural(/(quiz)$/i, "$1zes"); setSingular(/s$/i, "") + setSingular(/ss$/i, "ss") setSingular(/(n)ews$/i, "$1ews") setSingular(/([ti])a$/i, "$1um") setSingular(/((a)naly|(b)a|(d)iagno|(p)arenthe|(p)rogno|(s)ynop|(t)he)ses$/i, "$1$2sis") diff --git a/lib/string.js b/lib/string.js index b897c2f..dc2c4da 100644 --- a/lib/string.js +++ b/lib/string.js @@ -412,7 +412,7 @@ string = new (function () { } else { returnString = str.substring(0, last) + opts.omission; - returnString += callback ? callback() : ''; + returnString += callback && typeof callback === 'function' ? callback() : ''; return returnString; } }; @@ -719,7 +719,8 @@ string = new (function () { initialCap = opts.initialCap; var self = this - , normalizedName = this.snakeize(name) + // Use plural version to fix possible mistakes(e,g,. thingie instead of thingy) + , normalizedName = this.snakeize(inflection.pluralize(name)) , nameSingular = inflection.singularize(normalizedName) , namePlural = inflection.pluralize(normalizedName);