code: function ( str, lowFirstLetter ){
        var str_path = str.toLowerCase().split( '/' );
        var i        = 0;
        var j        = str_path.length;
  
        for( ; i < j; i++ ){
          var str_arr = str_path[ i ].split( '_' );
          var initX   = (( lowFirstLetter && i + 1 === j ) ? ( 1 ) : ( 0 ));
          var k       = initX;
          var l       = str_arr.length;
  
          for( ; k < l; k++ ){
            str_arr[ k ] = str_arr[ k ].charAt( 0 ).toUpperCase() + str_arr[ k ].substring( 1 );
          }
  
          str_path[ i ] = str_arr.join( '' );
        }
  
        return str_path.join( '::' );
      }
docs: This function adds camelization support to every String object.
  @public
  @function
  @param {String} str The subject string.
  @param {Boolean} lowFirstLetter Default is to capitalize the first letter of the results.(optional)
  Passing true will lowercase it.
  @returns {String} Lower case underscored words will be returned in camel case.
  additionally '/' is translated to '::'
  @example
  
  var inflection = require( 'inflection' );
  
  inflection.camelize( 'message_properties' ); // === 'MessageProperties'
  inflection.camelize( 'message_properties', true ); // === 'messageProperties'