Class: Jets::Stack::Depends

Inherits:
Object
  • Object
show all
Defined in:
lib/jets/stack/depends.rb,
lib/jets/stack/depends/item.rb

Defined Under Namespace

Classes: Item

Instance Method Summary collapse

Constructor Details

#initialize(items) ⇒ Depends

Returns a new instance of Depends.



5
6
7
# File 'lib/jets/stack/depends.rb', line 5

def initialize(items)
  @items = items
end

Instance Method Details

#dependency_outputs(logical_id) ⇒ Object



32
33
34
# File 'lib/jets/stack/depends.rb', line 32

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

#paramsObject



9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
# File 'lib/jets/stack/depends.rb', line 9

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.classify
      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

#stack_listObject



26
27
28
29
30
# File 'lib/jets/stack/depends.rb', line 26

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