Sha256: 4be617275691a3f69a3064a49acb94db402360b65aee1367e583693b3567fb37

Contents?: true

Size: 892 Bytes

Versions: 90

Compression:

Stored size: 892 Bytes

Contents

class Jets::Stack
  class Depends
    def initialize(items)
      @items = items # Jets::Stack::Depends::Item - has stack and options properties
    end

    def params
      result = {}
      @items.each do |item|
        class_name = item.class_name
        dependency_outputs(class_name).each do |output|
          dependency_class = class_name.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

    # Returns CloudFormation template logical ids
    def stack_list
      @items.map(&:logical_id)
    end

  private
    def dependency_outputs(class_name)
      class_name.to_s.camelize.constantize.output_keys
    end
  end
end

Version data entries

90 entries across 90 versions & 2 rubygems

Version Path
jets-4.0.12 lib/jets/stack/depends.rb
jets-4.0.11 lib/jets/stack/depends.rb
jets-5.0.13 lib/jets/stack/depends.rb
jets-5.0.12 lib/jets/stack/depends.rb
jets-5.0.11 lib/jets/stack/depends.rb
jets-5.0.10 lib/jets/stack/depends.rb
jets-5.0.9 lib/jets/stack/depends.rb
jets-5.0.8 lib/jets/stack/depends.rb
jets-5.0.7 lib/jets/stack/depends.rb
jets-5.0.6 lib/jets/stack/depends.rb
jets-5.0.5 lib/jets/stack/depends.rb
jets-5.0.4 lib/jets/stack/depends.rb
jets-5.0.3 lib/jets/stack/depends.rb
jets-5.0.2 lib/jets/stack/depends.rb
jets-5.0.1 lib/jets/stack/depends.rb
jets-5.0.0 lib/jets/stack/depends.rb
jets-4.0.10 lib/jets/stack/depends.rb
jets-5.0.0.beta1 lib/jets/stack/depends.rb
jets-4.0.9 lib/jets/stack/depends.rb
jets-4.0.8 lib/jets/stack/depends.rb