Class: Amigrind::Blueprints::ProvisionerEvaluator

Inherits:
Object
  • Object
show all
Defined in:
lib/amigrind/blueprints/evaluator.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(name, evaluator, weight, provisioner_class, &block) ⇒ ProvisionerEvaluator

Returns a new instance of ProvisionerEvaluator.



243
244
245
246
247
248
249
250
251
# File 'lib/amigrind/blueprints/evaluator.rb', line 243

def initialize(name, evaluator, weight, provisioner_class, &block)
  @provisioner = provisioner_class.new
  @provisioner.name = name.to_s
  @provisioner.weight = weight

  @evaluator = evaluator

  instance_eval(&block)
end

Dynamic Method Handling

This class handles dynamic methods through the method_missing method

#method_missing(m, *args) ⇒ Object



253
254
255
256
257
258
259
260
261
# File 'lib/amigrind/blueprints/evaluator.rb', line 253

def method_missing(m, *args)
  eq_msg = :"#{m}="

  if @provisioner.respond_to?(eq_msg)
    @provisioner.send(eq_msg, args[0])
  else
    @provisioner.send(m, *args)
  end
end

Instance Attribute Details

#provisionerObject (readonly)

Returns the value of attribute provisioner.



241
242
243
# File 'lib/amigrind/blueprints/evaluator.rb', line 241

def provisioner
  @provisioner
end