# File lib/puppet/type.rb, line 208
208:   def self.newparam(name, options = {}, &block)
209:     options[:attributes] ||= {}
210: 
211:       param = genclass(
212:         name,
213:       :parent => options[:parent] || Puppet::Parameter,
214:       :attributes => options[:attributes],
215:       :block => block,
216:       :prefix => "Parameter",
217:       :array => @parameters,
218: 
219:       :hash => @paramhash
220:     )
221: 
222:     handle_param_options(name, options)
223: 
224:     # Grr.
225:     param.required_features = options[:required_features] if options[:required_features]
226: 
227:     param.isnamevar if options[:namevar]
228: 
229:     param
230:   end