module ModuleSync::Renderer

Public Class Methods

build(target_name) click to toggle source
# File lib/modulesync/renderer.rb, line 13
def self.build(target_name)
  template_file = if !File.exist?("#{target_name}.erb") && File.exist?(target_name)
                    STDERR.puts "Warning: using '#{target_name}' as template without '.erb' suffix"
                    target_name
                  else
                    "#{target_name}.erb"
                  end
  erb_obj = ERB.new(File.read(template_file), nil, '-')
  erb_obj.filename = template_file
  erb_obj.def_method(ForgeModuleFile, 'render()', template_file)
  erb_obj
end
remove(file) click to toggle source
# File lib/modulesync/renderer.rb, line 26
def self.remove(file)
  File.delete(file) if File.exist?(file)
end
render(_template, configs = {}, metadata = {}) click to toggle source
# File lib/modulesync/renderer.rb, line 30
def self.render(_template, configs = {}, metadata = {})
  ForgeModuleFile.new(configs, metadata).render
end
sync(template, target_name) click to toggle source
# File lib/modulesync/renderer.rb, line 34
def self.sync(template, target_name)
  path = target_name.rpartition('/').first
  FileUtils.mkdir_p(path) unless path.empty?
  File.open(target_name, 'w') do |file|
    file.write(template)
  end
end