module Aws::Cfn::Dsl::DSL
Public Class Methods
included(includer)
click to toggle source
# File lib/aws/cfn/dsl/mixins/dsl.rb, line 45 def self.included(includer) end
Public Instance Methods
add_brick(subdir,name)
click to toggle source
# File lib/aws/cfn/dsl/mixins/dsl.rb, line 22 def add_brick(subdir,name) if @config[:directory] #file = rb_file(subdir, name).gsub(%r'^#{@config[:directory]}/','') #writeln " file '#{file}'" s = subdir.downcase.gsub(%r's$','') writeln " #{s} '#{name}'" end end
detect_type(val)
click to toggle source
Attempt to figure out what fragment of the template we have. This is imprecise and can’t detect Mappings and Outputs sections reliably, so it doesn’t attempt to.
# File lib/aws/cfn/dsl/mixins/dsl.rb, line 8 def detect_type(val) if val.is_a?(Hash) && val['AWSTemplateFormatVersion'] :template elsif val.is_a?(Hash) && /^(String|Number)$/ =~ val['Type'] :parameter elsif val.is_a?(Hash) && val['Type'] :resource elsif val.is_a?(Hash) && val.values.all? { |v| detect_type(v) == :parameter } :parameters elsif val.is_a?(Hash) && val.values.all? { |v| detect_type(v) == :resource } :resources end end
module_name(parts=-1)
click to toggle source
# File lib/aws/cfn/dsl/mixins/dsl.rb, line 39 def module_name(parts=-1) name = self.class.to_s.split("::") name[0..parts-1].join('::') end
rb_file(subdir, name)
click to toggle source
# File lib/aws/cfn/dsl/mixins/dsl.rb, line 31 def rb_file(subdir, name) path = File.join(@config[:directory], subdir) unless File.directory? path Dir.mkdir path end file = File.join(path, "#{name}.rb") end