The property blocks are class_eval'd so we can't just define a method and then reuse it; the best approach that I can see is to implement a custom property for this. The old yumrepo type took this approach (https://github.com/puppetlabs/puppet/blob/3.4.3/lib/puppet/type/yumrepo.rb#L5), do you think we should reuse the custom property idea?