class Amigrind::Blueprints::Evaluator::BaseAMIEvaluator
Public Class Methods
new(bp, evaluator, &block)
click to toggle source
# File lib/amigrind/blueprints/evaluator.rb, line 95 def initialize(bp, evaluator, &block) @bp = bp @bp.source = Amigrind::Blueprints::BaseAMISource.new @evaluator = evaluator instance_eval(&block) end
Private Instance Methods
family(f)
click to toggle source
# File lib/amigrind/blueprints/evaluator.rb, line 110 def family(f) raise "'family' must implement #to_sym." unless f.respond_to?(:to_sym) @bp.source.family = f.to_sym.to_s.strip.to_sym end
id(region, image_id)
click to toggle source
# File lib/amigrind/blueprints/evaluator.rb, line 122 def id(region, image_id) regex = Amigrind::Core::AMI_REGEX raise "'region' must be stringable." unless region.respond_to?(:to_s) raise "'image_id' must be in AMI format (/#{regex.source}/)" \ unless regex.match(image_id) @bp.source.ids[region.to_s.strip] = image_id end
ids(ami_ids)
click to toggle source
# File lib/amigrind/blueprints/evaluator.rb, line 132 def ids(ami_ids) raise "'ami_ids' must be a Hash-alike." unless ami_ids.respond_to?(:each_pair) ami_ids.each_pair { |region, image_id| id(region, image_id) } end
properties()
click to toggle source
# File lib/amigrind/blueprints/evaluator.rb, line 106 def properties @evaluator.properties end
version(v)
click to toggle source
# File lib/amigrind/blueprints/evaluator.rb, line 116 def version(v) raise "'version' must be a String." unless v.is_a?(String) @bp.source.version = v.strip end