It’s common to want to configure a shared resource from many classes in your module tree, each class defining it’s own configuration parameters that then merge into a more unified whole. When the resource you’re configuring natively supports a conf.d style this makes the configuration management job quite simple, you just drop out a new file from each class that’s interested and call it done. The complexity comes when you have a single file that you need to manage.
In the last couple of weeks I’ve been playing with puppet-dashboard, and after deploying it spotted and patched over a few small niggles. After I sent a couple of fixes upstream I figured that if I was going to send any more patches I should do it properly and send supporting testcases too. Unfortunately (for me) the test suite is in RSpec was just so alien to me that I stalled.