> The root problem is that if the resource getting instantiated is a
> user-defined type (hostclass or definition), resource.resource_type is an
> instance of Puppet::Resource::Type, but if the resource getting instantiated
> is a built-in type, then resource.resource_type is actually a Ruby class
> representing the built-in type.
>

Despite this design smell, we already expect the built-in types and the
Puppet::Resource::Type instances to conform to the same interface, otherwise
we wouldn't pass them into the same codepath at all.
I believe that using `is_a?` instead of continuing to expect them to
implement an interface will actually make it harder to refactor this design
in the future.

-- 
You received this message because you are subscribed to the Google Groups 
"Puppet Developers" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/puppet-dev?hl=en.

Reply via email to