puppetlabs/puppet — pull request #2184 by jeffmccune (2013-12-26 07:09:17+00:00)
Title: (maint) Fix can't modify frozen Symbol error on Ruby 2.1.0

Without this patch we're getting the following error on Ruby 2.1.0:
`can't modify frozen Symbol (Puppet::Error)`. This problem is caused by
our monkey patching which attempts to cache Symbol#to_proc return values
instead of creating new instances on every call.

As it turns out, the caching optimization is not necessary on Ruby 1.9.3
and later because Symbol#to_proc implements its own caching system in
these versions.