Module: Lono::Template::Dsl::Builder::Helper

Extended by:
Memoist
Defined in:
lib/lono/template/dsl/builder/helper.rb

Instance Method Summary collapse

Instance Method Details

#dimensions(hash, casing: :camelize) ⇒ Object



24
25
26
27
28
29
# File 'lib/lono/template/dsl/builder/helper.rb', line 24

def dimensions(hash, casing: :camelize)
  tags(hash, casing: casing).map { |h|
    h[:name] = h.delete(:key)
    h
  }
end

#file_s3_key(name, options = {}) ⇒ Object Also known as: s3_key



53
54
55
56
# File 'lib/lono/template/dsl/builder/helper.rb', line 53

def file_s3_key(name, options={})
  Lono::AppFile::Registry.register(name, @blueprint, options)
  "file://app/files/#{name}" # placeholder for post processing
end

#render_path(path) ⇒ Object



45
46
47
# File 'lib/lono/template/dsl/builder/helper.rb', line 45

def render_path(path)
  RenderMePretty.result(path, context: self)
end

#s3_bucketObject



49
50
51
# File 'lib/lono/template/dsl/builder/helper.rb', line 49

def s3_bucket
  Lono::S3::Bucket.name
end

#settingObject



59
60
61
# File 'lib/lono/template/dsl/builder/helper.rb', line 59

def setting
  Lono::Setting.new
end

#tags(hash, casing: :camelize) ⇒ Object



6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
# File 'lib/lono/template/dsl/builder/helper.rb', line 6

def tags(hash, casing: :camelize)
  hash.map do |k,v|
    k = k.to_s
    k = case casing
    when :camelize
      CfnCamelizer.camelize(k)
    when :underscore
      k.underscore
    when :dasherize
      k.dasherize
    else # leave alone
      k
    end

    {key: k, value: v}
  end
end

#user_data(path) ⇒ Object



31
32
33
34
35
36
37
38
39
40
41
42
# File 'lib/lono/template/dsl/builder/helper.rb', line 31

def user_data(path)
  path = "#{Lono.config.user_data_path}/#{path}"
  if File.exist?(path)
    render_path(path)
  else
    message = "WARNING: user-data path #{path} not found"
    puts message.color(:yellow)
    puts "Called from:"
    puts caller[1]
    message
  end
end