lib/CapicuaGen/template_feature.rb in CapicuaGen-0.1.0 vs lib/CapicuaGen/template_feature.rb in CapicuaGen-0.1.1

- old
+ new

@@ -4,16 +4,16 @@ CapicuaGen es un software que ayuda a la creación automática de sistemas empresariales a través de la definición y ensamblado de diversos generadores de características. -El proyecto fue iniciado por José Luis Bautista Martin, el 6 de enero -del 2016. +El proyecto fue iniciado por José Luis Bautista Martín, el 6 de enero +de 2016. Puede modificar y distribuir este software, según le plazca, y usarlo para cualquier fin ya sea comercial, personal, educativo, o de cualquier -índole, siempre y cuando incluya este mensaje, y se permita acceso el +índole, siempre y cuando incluya este mensaje, y se permita acceso al código fuente. Este software es código libre, y se licencia bajo LGPL. Para más información consultar http://www.gnu.org/licenses/lgpl.html @@ -21,11 +21,11 @@ require_relative 'feature' module CapicuaGen - # Es un tipo de caracteristica especial que se basa en generación de codigo a travez de plantillas + # Es un tipo de característica especial que se basa en generación de código a travez de plantillas class TemplateFeature < Feature private @@ -57,38 +57,38 @@ @template_directories= [] end - # Coleccion de caracteristicas del generador + # Coleccion de características del generador def templates return @templates end - # Agrega una caracteristica en el generador + # Agrega una característica en el generador def add_template(template) @templates<<template end - # Agrega una caracteristica en el generador + # Agrega una característica en el generador def set_template(name, template) remove_template_by_name(name) template.name= name @templates<<template end - # Quita la caracteristica + # Quita la característica def remove_template(template) @templates.delete(template) end # Quita la caracterisitca en base al nombre def remove_template_by_name(template_name) @templates.delete_if { |f| f.name==template_name } end - # Obtiene la caracteristica en base al nombre + # Obtiene la característica en base al nombre def get_template_by_name(template_name) return @templates.detect { |f| f.name==template_name } end # Coleccion de template_targets del generador @@ -156,19 +156,26 @@ # Configura los objetivos de las platillas (despues de establecer el generador) def configure_template_targets end - # Genero el codigo, usando todas las plantillas configuradas + # Genero el código, usando todas las plantillas configuradas def generate super() message_helper.add_indent # Genera una a una todas los objetivos de los templates self.template_targets.each do |t| - generate_template_target(t) + begin + generate_template_target(t) + rescue => e + error_message="Error en #{t.inspect}" + message_helper.puts_error_message error_message + message_helper.remove_indent + raise e + end end message_helper.remove_indent puts end @@ -263,10 +270,10 @@ end - # Devuelve los archivos generados por esta caracteristicas + # Devuelve los archivos generados por esta características def get_out_file_information(values= {}) # Recupero los parametros types = values[:types] types = [types] if types and not types.instance_of?(Array)