186: def self.newmetaparam(name, options = {}, &block)
187: @@metaparams ||= []
188: @@metaparamhash ||= {}
189: name = symbolize(name)
190:
191: param = genclass(name,
192: :parent => options[:parent] || Puppet::Parameter,
193: :prefix => "MetaParam",
194: :hash => @@metaparamhash,
195: :array => @@metaparams,
196: :attributes => options[:attributes],
197: &block
198: )
199:
200:
201: if options[:required_features]
202: param.required_features = options[:required_features]
203: end
204:
205: handle_param_options(name, options)
206:
207: param.metaparam = true
208:
209: return param
210: end