class RubyInstaller::Build::ErbCompiler

Attributes

erb_filename[R]
erb_filename_abs[R]

Public Class Methods

new(erb_file_rel, result_file_rel=nil) click to toggle source
# File lib/ruby_installer/build/erb_compiler.rb, line 36
def initialize(erb_file_rel, result_file_rel=nil)
  @erb_filename = erb_file_rel
  @erb_filename_abs = ovl_expand_file(erb_file_rel)
  @erb = ERB.new(File.read(@erb_filename_abs, encoding: "UTF-8"))
  @result_file_rel = result_file_rel || erb_file_rel.sub(/\.erb$/, "")
  @erb.filename = @result_file_rel
end

Public Instance Methods

result(task=nil) click to toggle source
# File lib/ruby_installer/build/erb_compiler.rb, line 48
def result(task=nil)
  box = Box.new(self, task)
  @erb.result(box.binding)
end
result_filename() click to toggle source
# File lib/ruby_installer/build/erb_compiler.rb, line 44
def result_filename
  @result_file_rel
end
write_result(task=nil, filename=nil) click to toggle source
# File lib/ruby_installer/build/erb_compiler.rb, line 53
def write_result(task=nil, filename=nil)
  filename ||= result_filename
  FileUtils.mkdir_p File.dirname(filename)
  File.binwrite(filename, result(task))
  filename
end