puppetlabs/puppet-dashboard — pull request #244 by eshamow (2013-06-05 06:04:59+00:00)
Title: (PE-507) Modify nodegroup:parameters to allow comma and equal signs

Previously, commas and equal signs could not be used in parameters
passed to the nodegroup:parameters rake job, even when escaped, as
the task did a simple split on the , and = characters. This commit
modifies the behavior to only split on un-escaped chars.

One oddity is that we reverse the array and its contents a few times
to get at this material. This is because Ruby 1.8 has no backreferences
in regular expressions. Once all 1.8 support is dropped we can use
a much simpler regular expression - ,(?!\\) - rather than the gyrations
we go through here.