class CloudFormer::Functions::If

Public Class Methods

new(condition, true_value, false_value) click to toggle source
# File lib/cloud_former/functions/if.rb, line 5
def initialize(condition, true_value, false_value)
  @condition = condition
  @true_value = true_value
  @false_value = false_value
end

Public Instance Methods

dump_json() click to toggle source
# File lib/cloud_former/functions/if.rb, line 11
def dump_json
  if @true_value.respond_to?(:get_name)
    tv = { 'Ref' => @value1.get_name }
  elsif @true_value.is_a?(Function)
    tv = @true_value.dump_json
  elsif @true_value.respond_to?(:to_s)
    tv = @true_value.to_s
  end

  if @false_value.respond_to?(:get_name)
    fv = { 'Ref' => @false_value.get_name }
  elsif @false_value.is_a?(Function)
    fv = @false_value.dump_json
  elsif @false_value.respond_to?(:to_s)
    fv = @false_value.to_s
  end

  { 'Fn::If' => [@condition.get_name, tv, fv] }
end