Sha256: 0ab2ba1477c4e669312fcb6f6e1a2630a56e7f60e16dada013ed150aa6ea1d0c
Contents?: true
Size: 879 Bytes
Versions: 81
Compression:
Stored size: 879 Bytes
Contents
class Jets::Stack class Builder extend Memoist def initialize(stack) @stack = stack @template = {} # will build this structure up end def template build_section(:parameters) build_section(:resources) build_section(:outputs) Jets::Camelizer.transform(@template) end memoize :template def build_section(section) elements = build_elements(section) @template[section] = elements if elements end def build_elements(section) # s is a "section element". Examples: # # Jets::Stack::Parameter # Jets::Stack::Resource # Jets::Stack::Output # section_elements = @stack.send(section) return unless section_elements section_elements.inject({}) do |template_section, s| template_section.merge(s.template) end end end end
Version data entries
81 entries across 81 versions & 2 rubygems