Sha256: 42108bbf5004269e4da224ee7f05aec44aa051cddc557d736bc7b0f37b34a9a4

Contents?: true

Size: 901 Bytes

Versions: 3

Compression:

Stored size: 901 Bytes

Contents

class Jets::Stack
  class Depends
    autoload :Item, "jets/stack/depends/item"

    def initialize(items)
      @items = items
    end

    def params
      result = {}
      @items.each do |item|
        logical_id = item.stack.to_s.camelize # logical_id
        dependency_outputs(logical_id).each do |output|
          dependency_class = logical_id.to_s.camelize
          output_key = item.options[:class_prefix] ?
            "#{dependency_class}#{output}" : # already camelized
            output

          output_value = "!GetAtt #{dependency_class}.Outputs.#{output}"
          result[output_key] = output_value
        end
      end
      result
    end

    def stack_list
      @items.map do |item|
        item.stack.to_s.camelize # logical_id # logical_id
      end
    end

    def dependency_outputs(logical_id)
      logical_id.to_s.camelize.constantize.output_keys
    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
jets-1.9.7 lib/jets/stack/depends.rb
jets-1.9.6 lib/jets/stack/depends.rb
jets-1.9.5 lib/jets/stack/depends.rb