class Aws::Templates::Utils::Default::Definition::Calculable

Lazy-calculated definition

Contains functor object which will be evaluated only during actual value look-up

Attributes

block[R]

Public Class Methods

new(block) click to toggle source
# File lib/aws/templates/utils/default.rb, line 134
def initialize(block)
  @block = block
end

Public Instance Methods

for(instance) click to toggle source
# File lib/aws/templates/utils/default.rb, line 138
def for(instance)
  guarded_for(instance, block) { _process_value(block, instance) }
end

Private Instance Methods

_process_value(value, instance) click to toggle source
# File lib/aws/templates/utils/default.rb, line 144
def _process_value(value, instance)
  return value if value.override? || Utils.recursive?(value)
  _process_value(instance.instance_eval(&value), instance)
end