puppetlabs/puppet — pull request #754 by cprice-puppet (2012-05-11 00:02:24+00:00)
Title: Bug/master/14200 face class names

This is basically just a re-introduction of
ce1e5555a847163e6448d1442a6d626957dac798, which was mostly
some cleanup and fixes for the help face. However, that commit
also (intentionally) broke backward compatibility for application class names;

In 2.7.x, underscores in file names for puppet applications are expected
to translate to underscores in the class name. So, e.g., the
application defined in "resource_type.rb" is expected to have a class
name of "Resource_type".

However, that doesn't really match up with "standard" ruby or the
expectations of ruby developers. They expect for "resource_type.rb"
to translate to "ResourceType". The original commit introduced that,
but did not provide backward compatibility support for the "_" class
naming.

This commit does everything that the original one did, but includes
some hacks for backward compatibility with the underscore pattern.