Ruby on Rails
Inflector

Inflector is an integral part of ActiveSupport, which provides conversions of programming symbols from one representation to the other, as well as pluralizations for common English words.

Inflector is a module that has a number of methods, that you can use for your own needs (provided your application is purely English-speaking):

>> Inflector::camelize(:foo_bar)
=> "FooBar" 
>> Inflector::underscore(:JustAnotherClass)
=> "just_another_class" 

The camelize method has a perk – when you feed it forward slashes they will be converted to the Ruby module delimiter:

>> Inflector::camelize('foo/bar/class')
=> "Foo::Bar::Class" 

This feature is used by Rails to automatically load all of the code which is placed into directories according to this pattern. It means that

Foo::Bar::Class # will force 'foo/bar/class.rb' to be loaded

Pluralization is provided by pluralize and singularize

>> Inflector::pluralize("Building")
=> "Buildings" 

It is essential that you understand and peruse Inflector to harness the magic within rails.

Proceed to the Inflector API