The puppet-rvm FAQ mentions that they didn't extend the package
type because "it becomes harder to manage multiple Ruby versions and nearly impossible to install gems for a specific Ruby version". I don't need multiple Ruby versions, nor gems for them.
The author of puppet-rvm is implying that it's possible to extend puppet types. Google searching on the topic failed to turn up anything of interest. How does one extend built-in puppet types?
I don't know where you searched, but all information can be found on puppet docs site.
You can add stuff in all sort of ways to Puppet. There are four main categories which are:
There's even a complete example of new resources.