Sha256: f5c2dd82da04e09203384f8c010a868df5d0ec60550725206a24e6259f8e121a

Contents?: true

Size: 849 Bytes

Versions: 20

Compression:

Stored size: 849 Bytes

Contents

module Ufo::Docker
  class Compiler
    def initialize(dockerfile)
      @dockerfile = dockerfile
      @erb_file = "#{dockerfile}.erb"
    end

    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
  end
end

Version data entries

20 entries across 20 versions & 1 rubygems

Version Path
ufo-6.3.13 lib/ufo/docker/compiler.rb
ufo-6.3.12 lib/ufo/docker/compiler.rb
ufo-6.3.11 lib/ufo/docker/compiler.rb
ufo-6.3.10 lib/ufo/docker/compiler.rb
ufo-6.3.9 lib/ufo/docker/compiler.rb
ufo-6.3.8 lib/ufo/docker/compiler.rb
ufo-6.3.7 lib/ufo/docker/compiler.rb
ufo-6.3.6 lib/ufo/docker/compiler.rb
ufo-6.3.5 lib/ufo/docker/compiler.rb
ufo-6.3.4 lib/ufo/docker/compiler.rb
ufo-6.3.3 lib/ufo/docker/compiler.rb
ufo-6.3.2 lib/ufo/docker/compiler.rb
ufo-6.3.1 lib/ufo/docker/compiler.rb
ufo-6.3.0 lib/ufo/docker/compiler.rb
ufo-6.2.5 lib/ufo/docker/compiler.rb
ufo-6.2.4 lib/ufo/docker/compiler.rb
ufo-6.2.3 lib/ufo/docker/compiler.rb
ufo-6.2.2 lib/ufo/docker/compiler.rb
ufo-6.2.1 lib/ufo/docker/compiler.rb
ufo-6.2.0 lib/ufo/docker/compiler.rb