Module: ModuleSync::Renderer

Defined in:
lib/modulesync/renderer.rb

Defined Under Namespace

Classes: ForgeModuleFile

Class Method Summary collapse

Class Method Details

.build(template_file) ⇒ Object



13
14
15
16
17
18
19
# File 'lib/modulesync/renderer.rb', line 13

def self.build(template_file)
  template = File.read(template_file)
  erb_obj = ERB.new(template, trim_mode: '-')
  erb_obj.filename = template_file
  erb_obj.def_method(ForgeModuleFile, 'render()', template_file)
  erb_obj
end

.remove(file) ⇒ Object



21
22
23
# File 'lib/modulesync/renderer.rb', line 21

def self.remove(file)
  FileUtils.rm_f(file)
end

.render(_template, configs = {}, metadata = {}) ⇒ Object



25
26
27
# File 'lib/modulesync/renderer.rb', line 25

def self.render(_template, configs = {},  = {})
  ForgeModuleFile.new(configs, ).render
end

.sync(template, target_name, mode = nil) ⇒ Object



29
30
31
32
33
# File 'lib/modulesync/renderer.rb', line 29

def self.sync(template, target_name, mode = nil)
  FileUtils.mkdir_p(File.dirname(target_name))
  File.write(target_name, template)
  File.chmod(mode, target_name) unless mode.nil?
end