class Stacker::Resolver
Attributes
parameters[R]
region[R]
Public Class Methods
new(region, parameters)
click to toggle source
# File lib/stacker/resolver.rb, line 6 def initialize region, parameters @region, @parameters = region, parameters end
Public Instance Methods
dependencies()
click to toggle source
# File lib/stacker/resolver.rb, line 10 def dependencies @dependencies ||= parameters.values.flatten.select { |value| value.is_a?(Hash) }.map { |ref| "#{ref.fetch('Stack')}.#{ref.fetch('Output')}" } end
resolved()
click to toggle source
# File lib/stacker/resolver.rb, line 18 def resolved @resolved ||= Hash[parameters.map do |name, value| if value.is_a? Hash value = resolve_reference(value) elsif value.is_a? Array value = value.map do |ref| ref.is_a?(Hash) ? resolve_reference(ref) : ref end.join ',' end [ name, value ] end] end
Private Instance Methods
resolve_reference(ref)
click to toggle source
# File lib/stacker/resolver.rb, line 33 def resolve_reference(ref) stack = region.stack ref.fetch('Stack') stack.outputs.fetch ref.fetch('Output') end