# File lib/puppet/type.rb, line 152
152:   def self.newmetaparam(name, options = {}, &block)
153:     @@metaparams ||= []
154:     @@metaparamhash ||= {}
155:     name = symbolize(name)
156: 
157: 
158:       param = genclass(
159:         name,
160:       :parent => options[:parent] || Puppet::Parameter,
161:       :prefix => "MetaParam",
162:       :hash => @@metaparamhash,
163:       :array => @@metaparams,
164:       :attributes => options[:attributes],
165: 
166:       &block
167:     )
168: 
169:     # Grr.
170:     param.required_features = options[:required_features] if options[:required_features]
171: 
172:     handle_param_options(name, options)
173: 
174:     param.metaparam = true
175: 
176:     param
177:   end