Module: ModuleSync::Renderer

Defined in:
lib/modulesync/renderer.rb

Defined Under Namespace

Classes: ForgeModuleFile

Class Method Summary collapse

Class Method Details

.build(from_erb_template) ⇒ Object



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

def self.build(from_erb_template)
  erb_obj = ERB.new(File.read(from_erb_template), nil, '-')
  erb_obj.filename = from_erb_template.chomp('.erb')
  erb_obj.def_method(ForgeModuleFile, 'render()')
  erb_obj
end

.remove(file) ⇒ Object



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

def self.remove(file)
  if File.exists?(file)
    File.delete(file)
  end
end

.render(template, configs = {}) ⇒ Object



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

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

.sync(template, to_file) ⇒ Object



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

def self.sync(template, to_file)
  path = to_file.rpartition('/').first
  if(! path.empty?)
    FileUtils.mkdir_p(path)
  end
  File.open(to_file, 'w') do |file|
    file.write(template)
  end
end