class Aws::Templates::Utils::Default::Definition::Scheme

Definition with scheme

Scheme definition can be merged without stacking layers with any other scheme definition. Internal schemes will be merged together producing aggregated scheme. Otherwise, the definition is wither overriden with Scalar or stacked together with Calculable.

Attributes

scheme[R]

Public Class Methods

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

Public Instance Methods

for(_) click to toggle source
# File lib/aws/templates/utils/default.rb, line 114
def for(_)
  scheme
end
merge(b) click to toggle source
# File lib/aws/templates/utils/default.rb, line 104
def merge(b)
  if b.is_a? self.class
    merge(b.scheme)
  elsif Utils.recursive?(b)
    self.class.new(Utils.merge(scheme, b) { |left, right| _merge(left, right) })
  else
    super(b)
  end
end

Private Instance Methods

_merge(a, b) click to toggle source
# File lib/aws/templates/utils/default.rb, line 120
def _merge(a, b)
  a.override? || b.override? ? b : a.to_definition.merge(b)
end