Sha256: 817abde14c057f5e8f992dfa1cff6415d231695dfa31de93a4ed33da8a9802ba

Contents?: true

Size: 854 Bytes

Versions: 8

Compression:

Stored size: 854 Bytes

Contents

require 'erb'
require 'fileutils'

class Indocker::Images::TemplatesCompiler
  def compile(image:, compile_dir:, context:)
    templates_dir = image.build_context
    prepare_dirs!(templates_dir, compile_dir)

    compiler = Indocker::Images::TemplateCompiler.new

    Dir[File.join(compile_dir, '**/**')].each do |file|
      next if !File.file?(file)
      compiler.compile(file, context, image)
    end
  end

  private

  def prepare_dirs!(templates_dir, compile_dir)
    Indocker.logger.debug("recreating directory #{compile_dir}".grey)
    FileUtils.rm_rf(compile_dir)
    FileUtils.mkdir_p(compile_dir)

    Indocker.logger.debug("copy template files".grey)
    Indocker.logger.debug("  from: #{templates_dir}".grey)
    Indocker.logger.debug("    to: #{compile_dir}".grey)
    FileUtils.cp_r(File.join(templates_dir, '.'), compile_dir)
  end
end

Version data entries

8 entries across 8 versions & 1 rubygems

Version Path
indocker-0.3.9 lib/indocker/images/templates_compiler.rb
indocker-0.3.8 lib/indocker/images/templates_compiler.rb
indocker-0.3.7 lib/indocker/images/templates_compiler.rb
indocker-0.3.6 lib/indocker/images/templates_compiler.rb
indocker-0.3.5 lib/indocker/images/templates_compiler.rb
indocker-0.3.4 lib/indocker/images/templates_compiler.rb
indocker-0.3.3 lib/indocker/images/templates_compiler.rb
indocker-0.3.2 lib/indocker/images/templates_compiler.rb