JavaScript Inflection Support
Switch branches/tags
Nothing to show
Pull request Compare This branch is 1 commit ahead, 11 commits behind jankuca:master.
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.

This repository is a fork from

This project is a port of the functionality from Ruby on Rails' Active Support Inflection classes into Javascript. Instead of supporting the functionality in a new Inflector object, I've chosen to extend the Javascript String object.

This was ported initially to support plurality in Jester (

If anyone requires a different license in order to use this, please let me know and I can switch it over. I intend for this to be generally available for anyone's usage, and am not intentionally limiting it.

Currently supported:

String.pluralize(plural) == String
  //renders a singular English language noun into its plural form
  //normal results can be overridden by passing in an alternative

String.singularize(singular) == String
  //renders a plural English language noun into its singular form
  //normal results can be overridden by passing in an alterative

String.camelize(lowFirstLetter) == String
  //renders a lower case underscored word into camel case
  //the first letter of the result will be upper case unless you pass true
  //also translates "/" into "::" (underscore does the opposite)

String.underscore() == String
  //renders a camel cased word into words seperated by underscores
  //also translates "::" back into "/" (camelize does the opposite)

String.humanize(lowFirstLetter) == String
  //renders a lower case and underscored word into human readable form
  //defaults to making the first letter capitalized unless you pass true

String.capitalize() == String
  //renders all characters to lower case and then makes the first upper

String.dasherize() == String
  //renders all underbars and spaces as dashes

String.titleize() == String
  //renders words into title casing (as for book titles)

String.demodulize() == String
  //renders class names that are prepended by modules into just the class

String.tableize() == String
  //renders camel cased singular words into their underscored plural form

String.classify() == String
  //renders an underscored plural word into its camel cased singular form

String.foreign_key(dropIdUbar) == String
  //renders a class name (camel cased singular noun) into a foreign key
  //defaults to seperating the class from the id with an underbar unless
  //you pass true

String.ordinalize() == String
  //renders all numbers found in the string into their sequence like "22nd"


Ryan Schuft (