Class: Puppet::Pops::Binder::Producers::InstantiatingProducer
- Inherits:
-
AbstractArgumentedProducer
- Object
- Producer
- AbstractArgumentedProducer
- Puppet::Pops::Binder::Producers::InstantiatingProducer
- Defined in:
- lib/puppet/pops/binder/producers.rb
Instance Attribute Summary collapse
- #init_args ⇒ Object readonly
- #the_class ⇒ Object readonly
Attributes inherited from AbstractArgumentedProducer
Attributes inherited from Producer
Instance Method Summary collapse
-
#initialize(injector, binding, scope, options) ⇒ InstantiatingProducer
constructor
A new instance of InstantiatingProducer.
Methods inherited from Producer
Constructor Details
#initialize(injector, binding, scope, options) ⇒ InstantiatingProducer
Returns a new instance of InstantiatingProducer.
218 219 220 221 222 223 224 225 226 227 228 229 |
# File 'lib/puppet/pops/binder/producers.rb', line 218 def initialize(injector, binding, scope, ) # Better do this, even if a transformation of a created instance is kind of an odd thing to do, one can imagine # sending it to a function for further detailing. # super class_name = [:class_name] raise ArgumentError, "Option 'class_name' must be given for an InstantiatingProducer" unless class_name # get class by name @the_class = Types::ClassLoader.provide(class_name) @init_args = [:init_args] || [] raise ArgumentError, "Can not load the class #{class_name} specified in binding named: '#{binding.name}'" unless @the_class end |