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



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

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



23
24
25
# File 'lib/modulesync/renderer.rb', line 23

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

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



27
28
29
# File 'lib/modulesync/renderer.rb', line 27

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

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



31
32
33
34
35
# File 'lib/modulesync/renderer.rb', line 31

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