== String#Camelcase

  require 'facets/string/camelcase'

The `camelcase` method converts snakecase strings into camelcase strings.

  "abc_xyz".camelcase.assert == "AbcXyz"

Continious underscore characters are treated as if a single underscore
character.

  "abc____xyz".camelcase.assert == "AbcXyz"

Without an argument the first character is capitalized.

  "Camel_case".camelcase.assert == "CamelCase"

Passing +true+ to #camelcase uncaptializes the first letter. This is
known as lower-camelcase.

  "Abc_xyz".camelcase(true).assert == "abcXyz"
  "Abc____xyz".camelcase(true).assert == "abcXyz"

Where as passing +false+ leaves the first as it was given, known as
inter-camelcase.

  "abc_xyz".camelcase(false).assert == "abcXyz"
  "abc____xyz".camelcase(false).assert == "abcXyz"
  "Abc_xyz".camelcase(false).assert == "AbcXyz"
  "Abc____xyz".camelcase(false).assert == "AbcXyz"

The #camelcase method applies to each word in a string.

  #Unit :camelcase => "converts spaces to captialized" do
  #  "abc xyz".camelcase.assert  == "AbcXyz"
  #  "abc  xyz".camelcase.assert == "AbcXyz"
  #  "abc\txyz".camelcase.assert == "AbcXyz"
  #  "abc\nxyz".camelcase.assert == "AbcXyz"
  #end

  #Unit :camelcase => "false converts spaces to captialized" do
  #  "abc xyz".camelcase(false).assert == "abcXyz"
  #  "abc  xyz".camelcase(false).assert == "abcXyz"
  #  "abc\txyz".camelcase(false).assert == "abcXyz"
  #  "abc\nxyz".camelcase(false).assert == "abcXyz"
  #end

In addition #camelcase converts path separators ('/') to module name
separators ('::').

  'this_is_it'.camelcase.assert == 'ThisIsIt'
  'my_module/my_class'.camelcase.assert == 'MyModule::MyClass'
  '/my_module/my_class'.camelcase.assert == '::MyModule::MyClass'

  #Unit :camelcase => "converts methods to module names" do
  #  'my_module__my_class'.camelcase.assert == 'MyModule::MyClass'
  #  '__my_module__my_class'.camelcase.assert == '::MyModule::MyClass'
  #end

== String#lower_camelcase

  "abc_xyz".lower_camelcase.assert == "abcXyz"

== String#upper_camelcase

  "abc_xyz".upper_camelcase.assert == "AbcXyz"

