class CapicuaGen::TemplateHelper

Clase ayudante para crear arvhiso a partir de Template

Public Class Methods

generate_template(erb_file, current_binding, values= {}) click to toggle source

Genera un archivo en base a un template

# File lib/CapicuaGen/Tools/template_helper.rb, line 41
def self.generate_template (erb_file, current_binding, values= {})


  erb           = ERB.new(File.open(erb_file, 'r').read)


  # Archivo de salida
  out_file      = values[:out_file] if values[:out_file]
  force         = values[:force] if values[:force]

  #característica
  feature       = values[:feature] if values[:feature]
  message_helper= feature.message_helper if feature
  message_helper= MessageHelper.new unless message_helper

  # Genero la plantilla
  result        = erb.result(current_binding)

  # Devuelve el resultado si no hay archivo de salida
  return result unless out_file


  exists= File.exist?(out_file)


  if exists and not force
    message_helper.puts_created_template(File.basename(erb_file), out_file, :ignore)
    return result
  end


  # Creo el directorio
  FileUtils::mkdir_p File.dirname(out_file)

  # Escribo el resultado
  File.open(out_file, 'w') { |file| file.write(result) }

  if exists
    message_helper.puts_created_template(File.basename(erb_file), out_file, :override)
  else
    message_helper.puts_created_template(File.basename(erb_file), out_file, :new)
  end

  return result
end
new() click to toggle source
# File lib/CapicuaGen/Tools/template_helper.rb, line 34
def initialize

end