Method: Ufo::Docker::Compiler#compile

Defined in:
lib/ufo/docker/compiler.rb

#compileObject



8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
# File 'lib/ufo/docker/compiler.rb', line 8

def compile
  return unless File.exist?(@erb_file)

  puts "Compiled #{File.basename(@erb_file).color(:green)} to #{File.basename(@dockerfile).color(:green)}"

  state = State.new
  vars = state.read
  result = RenderMePretty.result(@erb_file, vars)
  comment =<<~EOL.chop # remove the trailing newline
    # IMPORTANT: This file was generated from #{File.basename(@erb_file)} as a part of running:
    #
    #     ufo ship
    #
    # To update the FROM statement with the latest base docker image use:
    #
    #    ufo docker base
    #
  EOL
  result = "#{comment}\n#{result}"
  IO.write(@dockerfile, result)
end