class CloudFormer::Functions::Join

Public Class Methods

new(join_string, pieces) click to toggle source
# File lib/cloud_former/functions/join.rb, line 5
def initialize(join_string, pieces)
  @join_string = join_string
  @pieces = pieces
end

Public Instance Methods

acts_as_string?() click to toggle source
# File lib/cloud_former/functions/join.rb, line 10
def acts_as_string?
  true
end
dump_json() click to toggle source
# File lib/cloud_former/functions/join.rb, line 14
def dump_json
  mapped_pieces = @pieces.map do |piece|
    if piece.is_a?(Parameter) || piece.is_a?(PseudoParameter)
      { 'Ref' => piece.get_name }
    elsif piece.is_a?(Function)
      piece.dump_json
    elsif piece.is_a?(Resource)
      { 'Ref' => piece.get_name }
    else
      piece
    end
  end

  {
    'Fn::Join' => [
      @join_string,
      mapped_pieces
    ]
  }
end