CapicuaGen 0.1.0 → 0.1.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/CapicuaGen.gemspec +3 -3
- data/README.md +4 -4
- data/exe/capicuagen +3 -3
- data/lib/CapicuaGen/Examples/Example/Source/example_feature.rb +5 -5
- data/lib/CapicuaGen/Examples/Example/Template/Gemfile.erb +4 -4
- data/lib/CapicuaGen/Examples/Example/Template/generator.erb +30 -27
- data/lib/CapicuaGen/Mixins/attributes_mixin.rb +6 -6
- data/lib/CapicuaGen/Mixins/parameter_mixin.rb +3 -3
- data/lib/CapicuaGen/Mixins/reflection_mixin.rb +3 -3
- data/lib/CapicuaGen/Tools/message_helper.rb +8 -5
- data/lib/CapicuaGen/Tools/template_helper.rb +4 -4
- data/lib/CapicuaGen/Tools/xml_helper.rb +3 -3
- data/lib/CapicuaGen/attribute_mixer.rb +3 -3
- data/lib/CapicuaGen/capicua_gen.rb +4 -4
- data/lib/CapicuaGen/feature.rb +8 -8
- data/lib/CapicuaGen/file_information.rb +4 -4
- data/lib/CapicuaGen/generator.rb +20 -19
- data/lib/CapicuaGen/generator_command_line.rb +25 -25
- data/lib/CapicuaGen/target.rb +3 -3
- data/lib/CapicuaGen/template.rb +4 -4
- data/lib/CapicuaGen/template_feature.rb +19 -12
- data/lib/CapicuaGen/template_target.rb +3 -3
- data/lib/CapicuaGen/version.rb +1 -1
- metadata +5 -5
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 272e8b584d18a0aed4e2522148fbe63e9d50c70d
|
4
|
+
data.tar.gz: d28d6c1e0acc3e54aa3c7ceebc17a18ac3bc252a
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 8210a83a372e12d98f8321b06369185ffa1412b11c400950fa0ea1735b9ddff5514dfc392032101b8610050c4955d07fbf49d08b1c3d138d1b21d4e408d6b895
|
7
|
+
data.tar.gz: 3edb8ad26d79bf9b4460083931f23bd061008df5d1c5f8b8ba14f612b49b250d433157b34efeec312fcc4674b823d3190699d12ca12ad2f3b2c5f26a71795a81
|
data/CapicuaGen.gemspec
CHANGED
@@ -19,12 +19,12 @@ diversos generadores de características.
|
|
19
19
|
sistemas empresariales a través de la definición y ensamblado de
|
20
20
|
diversos generadores de características.
|
21
21
|
|
22
|
-
El proyecto fue iniciado por José Luis Bautista
|
23
|
-
|
22
|
+
El proyecto fue iniciado por José Luis Bautista Martín, el 6 de enero
|
23
|
+
de 2016.
|
24
24
|
|
25
25
|
Puede modificar y distribuir este software, según le plazca, y usarlo
|
26
26
|
para cualquier fin ya sea comercial, personal, educativo, o de cualquier
|
27
|
-
índole, siempre y cuando incluya este mensaje, y se permita acceso
|
27
|
+
índole, siempre y cuando incluya este mensaje, y se permita acceso al
|
28
28
|
código fuente.
|
29
29
|
|
30
30
|
Este software es código libre, y se licencia bajo LGPL.
|
data/README.md
CHANGED
@@ -4,12 +4,12 @@ CapicuaGen es un software que ayuda a la creación automática de
|
|
4
4
|
sistemas empresariales a través de la definición y ensamblado de
|
5
5
|
diversos generadores de características.
|
6
6
|
|
7
|
-
El proyecto fue iniciado por José Luis Bautista
|
8
|
-
|
7
|
+
El proyecto fue iniciado por José Luis Bautista Martín, el 6 de enero
|
8
|
+
de 2016.
|
9
9
|
|
10
10
|
Puede modificar y distribuir este software, según le plazca, y usarlo
|
11
11
|
para cualquier fin ya sea comercial, personal, educativo, o de cualquier
|
12
|
-
índole, siempre y cuando incluya este mensaje, y se permita acceso
|
12
|
+
índole, siempre y cuando incluya este mensaje, y se permita acceso al
|
13
13
|
código fuente.
|
14
14
|
|
15
15
|
Este software es código libre, y se licencia bajo LGPL.
|
@@ -45,7 +45,7 @@ CapicuaGen permite comenzar a trabajar con él desde el mismo momento en que es
|
|
45
45
|
|
46
46
|
Se crearan los siguientes archivos:
|
47
47
|
|
48
|
-
* generator.rb: Ejemplo de un generador de
|
48
|
+
* generator.rb: Ejemplo de un generador de código
|
49
49
|
* GemFile: Archivo de configuración de depencias para bundler .
|
50
50
|
* instnwnd.sql: Ejemplo de base de datos NorthWind, para Microsoft SQL Server
|
51
51
|
|
data/exe/capicuagen
CHANGED
@@ -8,12 +8,12 @@ CapicuaGen es un software que ayuda a la creación automática de
|
|
8
8
|
sistemas empresariales a través de la definición y ensamblado de
|
9
9
|
diversos generadores de características.
|
10
10
|
|
11
|
-
El proyecto fue iniciado por José Luis Bautista
|
12
|
-
|
11
|
+
El proyecto fue iniciado por José Luis Bautista Martín, el 6 de enero
|
12
|
+
de 2016.
|
13
13
|
|
14
14
|
Puede modificar y distribuir este software, según le plazca, y usarlo
|
15
15
|
para cualquier fin ya sea comercial, personal, educativo, o de cualquier
|
16
|
-
índole, siempre y cuando incluya este mensaje, y se permita acceso
|
16
|
+
índole, siempre y cuando incluya este mensaje, y se permita acceso al
|
17
17
|
código fuente.
|
18
18
|
|
19
19
|
Este software es código libre, y se licencia bajo LGPL.
|
@@ -6,12 +6,12 @@ CapicuaGen es un software que ayuda a la creación automática de
|
|
6
6
|
sistemas empresariales a través de la definición y ensamblado de
|
7
7
|
diversos generadores de características.
|
8
8
|
|
9
|
-
El proyecto fue iniciado por José Luis Bautista
|
10
|
-
|
9
|
+
El proyecto fue iniciado por José Luis Bautista Martín, el 6 de enero
|
10
|
+
de 2016.
|
11
11
|
|
12
12
|
Puede modificar y distribuir este software, según le plazca, y usarlo
|
13
13
|
para cualquier fin ya sea comercial, personal, educativo, o de cualquier
|
14
|
-
índole, siempre y cuando incluya este mensaje, y se permita acceso
|
14
|
+
índole, siempre y cuando incluya este mensaje, y se permita acceso al
|
15
15
|
código fuente.
|
16
16
|
|
17
17
|
Este software es código libre, y se licencia bajo LGPL.
|
@@ -27,13 +27,13 @@ require_relative '../../../capicua_gen'
|
|
27
27
|
|
28
28
|
module CapicuaGen
|
29
29
|
|
30
|
-
#
|
30
|
+
# Característica generadora de una pantalla de Bienvenida
|
31
31
|
class ExampleFeature < CapicuaGen::TemplateFeature
|
32
32
|
include CapicuaGen
|
33
33
|
|
34
34
|
public
|
35
35
|
|
36
|
-
# Inicializa la
|
36
|
+
# Inicializa la característica
|
37
37
|
def initialize(values= {})
|
38
38
|
super(values)
|
39
39
|
|
@@ -1,8 +1,8 @@
|
|
1
1
|
source 'https://rubygems.org'
|
2
2
|
|
3
|
-
gem 'CapicuaGen', '>=0.
|
4
|
-
gem 'CapicuaGenMelchior', '>=0.
|
5
|
-
gem 'CapicuaGenGaspar', '>=0.
|
6
|
-
gem 'CapicuaGenBalthazar', '>=0.
|
3
|
+
gem 'CapicuaGen', '>=0.1.1', '~>0.1'
|
4
|
+
gem 'CapicuaGenMelchior', '>=0.1.1', '~>0.1'
|
5
|
+
gem 'CapicuaGenGaspar', '>=0.1.1', '~>0.1'
|
6
|
+
gem 'CapicuaGenBalthazar', '>=0.1.1', '~>0.1'
|
7
7
|
gem 'rchardet', '~> 1.6', '>= 1.6.1'
|
8
8
|
gem 'colorize', '~> 0.7.7'
|
@@ -1,3 +1,6 @@
|
|
1
|
+
#encoding: UTF-8
|
2
|
+
Encoding.default_external = Encoding.find('UTF-8')
|
3
|
+
|
1
4
|
=begin
|
2
5
|
|
3
6
|
CapicuaGen
|
@@ -6,12 +9,12 @@ CapicuaGen es un software que ayuda a la creación automática de
|
|
6
9
|
sistemas empresariales a través de la definición y ensamblado de
|
7
10
|
diversos generadores de características.
|
8
11
|
|
9
|
-
El proyecto fue iniciado por José Luis Bautista
|
10
|
-
|
12
|
+
El proyecto fue iniciado por José Luis Bautista Martín, el 6 de enero
|
13
|
+
de 2016.
|
11
14
|
|
12
15
|
Puede modificar y distribuir este software, según le plazca, y usarlo
|
13
16
|
para cualquier fin ya sea comercial, personal, educativo, o de cualquier
|
14
|
-
índole, siempre y cuando incluya este mensaje, y se permita acceso
|
17
|
+
índole, siempre y cuando incluya este mensaje, y se permita acceso al
|
15
18
|
código fuente.
|
16
19
|
|
17
20
|
Este software es código libre, y se licencia bajo LGPL.
|
@@ -39,17 +42,17 @@ CapicuaGen es un software que ayuda a la creación automática de
|
|
39
42
|
sistemas empresariales a través de la definición y ensamblado de
|
40
43
|
diversos generadores de características.
|
41
44
|
|
42
|
-
Este es un
|
43
|
-
de
|
45
|
+
Este es un ejemplo generado automáticamente para comprender el uso
|
46
|
+
de CapicuaGen, incluye el uso de generadores de los siguientes tipos:
|
44
47
|
|
45
|
-
CapicuaGenEssential agrega referencia a los generadores de
|
48
|
+
CapicuaGenEssential agrega referencia a los generadores de características
|
46
49
|
|
47
50
|
* Melchior: Analizador de script SQL.
|
48
|
-
* Gaspar: Generador de
|
49
|
-
* Balthazar: Generador de
|
51
|
+
* Gaspar: Generador de código en C#
|
52
|
+
* Balthazar: Generador de código en Android
|
50
53
|
|
51
|
-
¿Quieres ver el
|
52
|
-
los siguientes repositorios
|
54
|
+
¿Quieres ver el código para generar tus propiedas características? Revisa
|
55
|
+
los siguientes repositorios:
|
53
56
|
|
54
57
|
}.colorize(:blue)
|
55
58
|
|
@@ -60,9 +63,9 @@ puts 'CapicuaGenBalthazar -> https://github.com/jbautistamartin/CapicuaGenBaltha
|
|
60
63
|
puts
|
61
64
|
|
62
65
|
puts %q{
|
63
|
-
Se incluye deshabilitada la
|
64
|
-
la
|
65
|
-
lenta. Puede
|
66
|
+
Se incluye deshabilitada la característica de formatear apropiadamente código fuente C#,
|
67
|
+
la característica es 'CodeMaidCleanerFeature', que aunque muy interesante, es MUY
|
68
|
+
lenta. Puede activarse esta característica cambiando el código de este archivo:
|
66
69
|
}.colorize(:blue)
|
67
70
|
|
68
71
|
|
@@ -71,11 +74,11 @@ puts "ENABLE_CODE_MAID_FEATURE = true".colorize(:yellow)
|
|
71
74
|
puts
|
72
75
|
|
73
76
|
puts %q{
|
74
|
-
Pulse enter para continuar
|
77
|
+
Pulse enter para continuar.
|
75
78
|
}.colorize(:green)
|
76
79
|
|
77
80
|
STDIN.gets.chomp
|
78
|
-
puts "Comenzando
|
81
|
+
puts "Comenzando generación...".colorize(:yellow)
|
79
82
|
puts
|
80
83
|
|
81
84
|
|
@@ -87,7 +90,7 @@ script_northwind = File.join(script_directory, 'instnwnd.sql')
|
|
87
90
|
|
88
91
|
|
89
92
|
#
|
90
|
-
# Generación de las
|
93
|
+
# Generación de las características comunes
|
91
94
|
#
|
92
95
|
feature_entity = CapicuaGen::Melchior::EntitySqlDataAccessFeature.new(:name => 'feature_entity') do |f|
|
93
96
|
f.add_sql_file script_northwind
|
@@ -105,7 +108,7 @@ feature_cleaner = CapicuaGen::Gaspar::CodeMaidCleanerFeature.new(:na
|
|
105
108
|
|
106
109
|
generator_windows = CapicuaGen::Generator.new do |g|
|
107
110
|
|
108
|
-
# Creo las
|
111
|
+
# Creo las características necesarias
|
109
112
|
feature_proyect = CapicuaGen::Gaspar::CSProyectWindowsFormFeature.new(:name => 'proyect')
|
110
113
|
feature_business_entity = CapicuaGen::Gaspar::CSSqlEntityFeature.new(:name => 'feature_business_entity')
|
111
114
|
feature_main_form = CapicuaGen::Gaspar::CSMDIWindowsFormFeature.new(:name => 'feature_main_form')
|
@@ -114,7 +117,7 @@ generator_windows = CapicuaGen::Generator.new do |g|
|
|
114
117
|
feature_catalog_form = CapicuaGen::Gaspar::CSCatalogWindowsFormFeature.new(:name => 'feature_catalog_form')
|
115
118
|
|
116
119
|
|
117
|
-
# Agrego las
|
120
|
+
# Agrego las característica al generador
|
118
121
|
g.add_feature_and_target feature_entity,
|
119
122
|
feature_data_access,
|
120
123
|
feature_main_form,
|
@@ -127,13 +130,13 @@ generator_windows = CapicuaGen::Generator.new do |g|
|
|
127
130
|
feature_connection_provider,
|
128
131
|
feature_header
|
129
132
|
|
130
|
-
# Agrego la parte el limpieador de
|
133
|
+
# Agrego la parte el limpieador de código
|
131
134
|
g.add_feature_and_target feature_cleaner if ENABLE_CODE_MAID_FEATURE
|
132
135
|
|
133
136
|
|
134
137
|
g.generation_attributes.add :out_dir => OUT_DIR,
|
135
138
|
:namespace => "Capicua.NorthWindWindowsExample",
|
136
|
-
:assembly_title => '
|
139
|
+
:assembly_title => 'Título del ejemplo',
|
137
140
|
:assembly_description => 'Descripción del ejemplo',
|
138
141
|
:assembly_company => 'Compañia del ejemplo',
|
139
142
|
:assembly_product => 'Producto del ejemplo',
|
@@ -153,12 +156,12 @@ end
|
|
153
156
|
|
154
157
|
generator_web = CapicuaGen::Generator.new do |g|
|
155
158
|
|
156
|
-
# Creo las
|
159
|
+
# Creo las características necesarias
|
157
160
|
feature_proyect_web = CapicuaGen::Gaspar::CSProyectRESTFulFeature.new(:name => 'proyect_web')
|
158
161
|
feature_business_entity = CapicuaGen::Gaspar::CSSqlEntityFeature.new(:name => 'feature_business_entity', :class_accessor => "public")
|
159
162
|
feature_catalog_service = CapicuaGen::Gaspar::CSRESTFULCatalogFeature.new(:name => 'feature_catalog_service')
|
160
163
|
|
161
|
-
# Agrego las
|
164
|
+
# Agrego las característica al generador
|
162
165
|
g.add_feature_and_target feature_entity,
|
163
166
|
feature_data_access,
|
164
167
|
feature_business_interface,
|
@@ -168,14 +171,14 @@ generator_web = CapicuaGen::Generator.new do |g|
|
|
168
171
|
feature_connection_provider,
|
169
172
|
feature_header
|
170
173
|
|
171
|
-
# Agrego la parte el limpieador de
|
174
|
+
# Agrego la parte el limpieador de código
|
172
175
|
g.add_feature_and_target feature_cleaner if ENABLE_CODE_MAID_FEATURE
|
173
176
|
|
174
177
|
|
175
178
|
#Configuro los atributos del generador
|
176
179
|
g.generation_attributes.add :out_dir => OUT_DIR,
|
177
180
|
:namespace => "Capicua.NorthWindServiceExample",
|
178
|
-
:assembly_title => '
|
181
|
+
:assembly_title => 'Título del ejemplo',
|
179
182
|
:assembly_description => 'Descripción del ejemplo',
|
180
183
|
:assembly_company => 'Compañia del ejemplo',
|
181
184
|
:assembly_product => 'Producto del ejemplo',
|
@@ -196,7 +199,7 @@ end
|
|
196
199
|
|
197
200
|
generator_android = CapicuaGen::Generator.new do |g|
|
198
201
|
|
199
|
-
#
|
202
|
+
# Generación de caractertisticas
|
200
203
|
feature_beans_entity = CapicuaGen::Balthazar::AndySqlEntityFeature.new(:name => 'feature_beans_entity')
|
201
204
|
feature_json = CapicuaGen::Balthazar::AndyWebRequestFeature.new(:name => 'feature_json')
|
202
205
|
feature_fragment = CapicuaGen::Balthazar::AndyEntityCardViewFragmentFeature.new(:name => 'feature_fragment')
|
@@ -205,7 +208,7 @@ generator_android = CapicuaGen::Generator.new do |g|
|
|
205
208
|
feature_android_context = CapicuaGen::Balthazar::AndyContextProvider.new(:name => 'feature_android_context')
|
206
209
|
feature_ic_launcher = CapicuaGen::Balthazar::AndyIcLauncherFeature.new(:name => 'feature_ic_launcher')
|
207
210
|
|
208
|
-
# Agrego las
|
211
|
+
# Agrego las característica al generador
|
209
212
|
g.add_feature_and_target feature_entity,
|
210
213
|
feature_beans_entity,
|
211
214
|
feature_json,
|
@@ -221,7 +224,7 @@ generator_android = CapicuaGen::Generator.new do |g|
|
|
221
224
|
:web_timeout => 60000,
|
222
225
|
# 10.0.0.2 hace referencia a el host que esta corriendo el depurador de Android
|
223
226
|
:remote_url => 'http://10.0.2.2/EjemploRESTFul/Services/Catalogs.svc',
|
224
|
-
:app_title => '
|
227
|
+
:app_title => 'Título del ejemplo',
|
225
228
|
:app_description => 'Descripción del ejemplo',
|
226
229
|
:app_copyright => 'Copyright del ejemplo',
|
227
230
|
:app_version => '1.0.0.0'
|
@@ -5,12 +5,12 @@ CapicuaGen es un software que ayuda a la creación automática de
|
|
5
5
|
sistemas empresariales a través de la definición y ensamblado de
|
6
6
|
diversos generadores de características.
|
7
7
|
|
8
|
-
El proyecto fue iniciado por José Luis Bautista
|
9
|
-
|
8
|
+
El proyecto fue iniciado por José Luis Bautista Martín, el 6 de enero
|
9
|
+
de 2016.
|
10
10
|
|
11
11
|
Puede modificar y distribuir este software, según le plazca, y usarlo
|
12
12
|
para cualquier fin ya sea comercial, personal, educativo, o de cualquier
|
13
|
-
índole, siempre y cuando incluya este mensaje, y se permita acceso
|
13
|
+
índole, siempre y cuando incluya este mensaje, y se permita acceso al
|
14
14
|
código fuente.
|
15
15
|
|
16
16
|
Este software es código libre, y se licencia bajo LGPL.
|
@@ -28,12 +28,12 @@ module CapicuaGen
|
|
28
28
|
|
29
29
|
public
|
30
30
|
|
31
|
-
# Devuelve una coleccion atributos de unos terminadas
|
31
|
+
# Devuelve una coleccion atributos de unos terminadas características de cierto tipo
|
32
32
|
def get_attributes(values= {})
|
33
33
|
|
34
34
|
# Atributos a generar
|
35
35
|
attributes = initialize_array_parameter(values[:attributes])
|
36
|
-
# Tipo de
|
36
|
+
# Tipo de características a buscar
|
37
37
|
target_types= initialize_array_parameter(values[:target_types])
|
38
38
|
|
39
39
|
# Agrego los atributes requeridos
|
@@ -43,7 +43,7 @@ module CapicuaGen
|
|
43
43
|
end
|
44
44
|
|
45
45
|
|
46
|
-
# Busco las
|
46
|
+
# Busco las características que contiene entidades de SQL para una table
|
47
47
|
generator.get_features_in_targets_by_type(target_types).each do |f|
|
48
48
|
|
49
49
|
attributes.each do |a|
|
@@ -6,12 +6,12 @@ CapicuaGen es un software que ayuda a la creación automática de
|
|
6
6
|
sistemas empresariales a través de la definición y ensamblado de
|
7
7
|
diversos generadores de características.
|
8
8
|
|
9
|
-
El proyecto fue iniciado por José Luis Bautista
|
10
|
-
|
9
|
+
El proyecto fue iniciado por José Luis Bautista Martín, el 6 de enero
|
10
|
+
de 2016.
|
11
11
|
|
12
12
|
Puede modificar y distribuir este software, según le plazca, y usarlo
|
13
13
|
para cualquier fin ya sea comercial, personal, educativo, o de cualquier
|
14
|
-
índole, siempre y cuando incluya este mensaje, y se permita acceso
|
14
|
+
índole, siempre y cuando incluya este mensaje, y se permita acceso al
|
15
15
|
código fuente.
|
16
16
|
|
17
17
|
Este software es código libre, y se licencia bajo LGPL.
|
@@ -6,12 +6,12 @@ CapicuaGen es un software que ayuda a la creación automática de
|
|
6
6
|
sistemas empresariales a través de la definición y ensamblado de
|
7
7
|
diversos generadores de características.
|
8
8
|
|
9
|
-
El proyecto fue iniciado por José Luis Bautista
|
10
|
-
|
9
|
+
El proyecto fue iniciado por José Luis Bautista Martín, el 6 de enero
|
10
|
+
de 2016.
|
11
11
|
|
12
12
|
Puede modificar y distribuir este software, según le plazca, y usarlo
|
13
13
|
para cualquier fin ya sea comercial, personal, educativo, o de cualquier
|
14
|
-
índole, siempre y cuando incluya este mensaje, y se permita acceso
|
14
|
+
índole, siempre y cuando incluya este mensaje, y se permita acceso al
|
15
15
|
código fuente.
|
16
16
|
|
17
17
|
Este software es código libre, y se licencia bajo LGPL.
|
@@ -6,12 +6,12 @@ CapicuaGen es un software que ayuda a la creación automática de
|
|
6
6
|
sistemas empresariales a través de la definición y ensamblado de
|
7
7
|
diversos generadores de características.
|
8
8
|
|
9
|
-
El proyecto fue iniciado por José Luis Bautista
|
10
|
-
|
9
|
+
El proyecto fue iniciado por José Luis Bautista Martín, el 6 de enero
|
10
|
+
de 2016.
|
11
11
|
|
12
12
|
Puede modificar y distribuir este software, según le plazca, y usarlo
|
13
13
|
para cualquier fin ya sea comercial, personal, educativo, o de cualquier
|
14
|
-
índole, siempre y cuando incluya este mensaje, y se permita acceso
|
14
|
+
índole, siempre y cuando incluya este mensaje, y se permita acceso al
|
15
15
|
código fuente.
|
16
16
|
|
17
17
|
Este software es código libre, y se licencia bajo LGPL.
|
@@ -62,9 +62,9 @@ module CapicuaGen
|
|
62
62
|
puts(text)
|
63
63
|
end
|
64
64
|
|
65
|
-
# Mensaje "Procesando
|
65
|
+
# Mensaje "Procesando característica"
|
66
66
|
def puts_generating_feature(feature)
|
67
|
-
puts_message "Procesando
|
67
|
+
puts_message "Procesando característica: '#{feature.name} -> #{feature.class.name}'"
|
68
68
|
end
|
69
69
|
|
70
70
|
|
@@ -112,6 +112,9 @@ module CapicuaGen
|
|
112
112
|
puts_message "- gem:".colorize(:red) + " '#{gem}', " + "type: ".colorize(:yellow) + "'#{file}', " + "feature: ".colorize(:blue) + "'#{feature}'"
|
113
113
|
end
|
114
114
|
|
115
|
+
def puts_error_message(message)
|
116
|
+
$stderr.puts message.to_s.colorize(:red)
|
117
|
+
end
|
115
118
|
|
116
119
|
def puts_catched_error(e)
|
117
120
|
$stderr.puts e.to_s.colorize(:red)
|
@@ -6,12 +6,12 @@ CapicuaGen es un software que ayuda a la creación automática de
|
|
6
6
|
sistemas empresariales a través de la definición y ensamblado de
|
7
7
|
diversos generadores de características.
|
8
8
|
|
9
|
-
El proyecto fue iniciado por José Luis Bautista
|
10
|
-
|
9
|
+
El proyecto fue iniciado por José Luis Bautista Martín, el 6 de enero
|
10
|
+
de 2016.
|
11
11
|
|
12
12
|
Puede modificar y distribuir este software, según le plazca, y usarlo
|
13
13
|
para cualquier fin ya sea comercial, personal, educativo, o de cualquier
|
14
|
-
índole, siempre y cuando incluya este mensaje, y se permita acceso
|
14
|
+
índole, siempre y cuando incluya este mensaje, y se permita acceso al
|
15
15
|
código fuente.
|
16
16
|
|
17
17
|
Este software es código libre, y se licencia bajo LGPL.
|
@@ -48,7 +48,7 @@ module CapicuaGen
|
|
48
48
|
out_file = values[:out_file] if values[:out_file]
|
49
49
|
force = values[:force] if values[:force]
|
50
50
|
|
51
|
-
#
|
51
|
+
#característica
|
52
52
|
feature = values[:feature] if values[:feature]
|
53
53
|
message_helper= feature.message_helper if feature
|
54
54
|
message_helper= MessageHelper.new unless message_helper
|
@@ -6,12 +6,12 @@ CapicuaGen es un software que ayuda a la creación automática de
|
|
6
6
|
sistemas empresariales a través de la definición y ensamblado de
|
7
7
|
diversos generadores de características.
|
8
8
|
|
9
|
-
El proyecto fue iniciado por José Luis Bautista
|
10
|
-
|
9
|
+
El proyecto fue iniciado por José Luis Bautista Martín, el 6 de enero
|
10
|
+
de 2016.
|
11
11
|
|
12
12
|
Puede modificar y distribuir este software, según le plazca, y usarlo
|
13
13
|
para cualquier fin ya sea comercial, personal, educativo, o de cualquier
|
14
|
-
índole, siempre y cuando incluya este mensaje, y se permita acceso
|
14
|
+
índole, siempre y cuando incluya este mensaje, y se permita acceso al
|
15
15
|
código fuente.
|
16
16
|
|
17
17
|
Este software es código libre, y se licencia bajo LGPL.
|
@@ -6,12 +6,12 @@ CapicuaGen es un software que ayuda a la creación automática de
|
|
6
6
|
sistemas empresariales a través de la definición y ensamblado de
|
7
7
|
diversos generadores de características.
|
8
8
|
|
9
|
-
El proyecto fue iniciado por José Luis Bautista
|
10
|
-
|
9
|
+
El proyecto fue iniciado por José Luis Bautista Martín, el 6 de enero
|
10
|
+
de 2016.
|
11
11
|
|
12
12
|
Puede modificar y distribuir este software, según le plazca, y usarlo
|
13
13
|
para cualquier fin ya sea comercial, personal, educativo, o de cualquier
|
14
|
-
índole, siempre y cuando incluya este mensaje, y se permita acceso
|
14
|
+
índole, siempre y cuando incluya este mensaje, y se permita acceso al
|
15
15
|
código fuente.
|
16
16
|
|
17
17
|
Este software es código libre, y se licencia bajo LGPL.
|
@@ -6,12 +6,12 @@ CapicuaGen es un software que ayuda a la creación automática de
|
|
6
6
|
sistemas empresariales a través de la definición y ensamblado de
|
7
7
|
diversos generadores de características.
|
8
8
|
|
9
|
-
El proyecto fue iniciado por José Luis Bautista
|
10
|
-
|
9
|
+
El proyecto fue iniciado por José Luis Bautista Martín, el 6 de enero
|
10
|
+
de 2016.
|
11
11
|
|
12
12
|
Puede modificar y distribuir este software, según le plazca, y usarlo
|
13
13
|
para cualquier fin ya sea comercial, personal, educativo, o de cualquier
|
14
|
-
índole, siempre y cuando incluya este mensaje, y se permita acceso
|
14
|
+
índole, siempre y cuando incluya este mensaje, y se permita acceso al
|
15
15
|
código fuente.
|
16
16
|
|
17
17
|
Este software es código libre, y se licencia bajo LGPL.
|
@@ -20,7 +20,7 @@ Para más información consultar http://www.gnu.org/licenses/lgpl.html
|
|
20
20
|
=end
|
21
21
|
|
22
22
|
=begin
|
23
|
-
CapicuaGen es una herrmamienta de
|
23
|
+
CapicuaGen es una herrmamienta de generación de código basado en características
|
24
24
|
configurables y extensibles.
|
25
25
|
=end
|
26
26
|
|
data/lib/CapicuaGen/feature.rb
CHANGED
@@ -6,12 +6,12 @@ CapicuaGen es un software que ayuda a la creación automática de
|
|
6
6
|
sistemas empresariales a través de la definición y ensamblado de
|
7
7
|
diversos generadores de características.
|
8
8
|
|
9
|
-
El proyecto fue iniciado por José Luis Bautista
|
10
|
-
|
9
|
+
El proyecto fue iniciado por José Luis Bautista Martín, el 6 de enero
|
10
|
+
de 2016.
|
11
11
|
|
12
12
|
Puede modificar y distribuir este software, según le plazca, y usarlo
|
13
13
|
para cualquier fin ya sea comercial, personal, educativo, o de cualquier
|
14
|
-
índole, siempre y cuando incluya este mensaje, y se permita acceso
|
14
|
+
índole, siempre y cuando incluya este mensaje, y se permita acceso al
|
15
15
|
código fuente.
|
16
16
|
|
17
17
|
Este software es código libre, y se licencia bajo LGPL.
|
@@ -46,7 +46,7 @@ module CapicuaGen
|
|
46
46
|
end
|
47
47
|
|
48
48
|
|
49
|
-
#Define los atributos de la
|
49
|
+
#Define los atributos de la generación
|
50
50
|
@generation_attributes= AttributeMixer.new
|
51
51
|
|
52
52
|
# Generador asociado
|
@@ -66,12 +66,12 @@ module CapicuaGen
|
|
66
66
|
end
|
67
67
|
|
68
68
|
|
69
|
-
# Devuelve los archivos generados por esta
|
69
|
+
# Devuelve los archivos generados por esta características
|
70
70
|
def get_out_file_information(values= {})
|
71
71
|
return []
|
72
72
|
end
|
73
73
|
|
74
|
-
# Devuelve los archivos generados por esta
|
74
|
+
# Devuelve los archivos generados por esta características
|
75
75
|
def get_relative_out_files(values= {})
|
76
76
|
result= []
|
77
77
|
# Obtengo la ruta base
|
@@ -118,12 +118,12 @@ module CapicuaGen
|
|
118
118
|
|
119
119
|
end
|
120
120
|
|
121
|
-
# Resetea los atributos personalizados de la
|
121
|
+
# Resetea los atributos personalizados de la característica (antes de establecer el generador)
|
122
122
|
def reset_attributes
|
123
123
|
|
124
124
|
end
|
125
125
|
|
126
|
-
# Configura los atributos personalizados de la
|
126
|
+
# Configura los atributos personalizados de la característica (antes de establecer el generador)
|
127
127
|
def configure_attributes()
|
128
128
|
|
129
129
|
end
|
@@ -6,12 +6,12 @@ CapicuaGen es un software que ayuda a la creación automática de
|
|
6
6
|
sistemas empresariales a través de la definición y ensamblado de
|
7
7
|
diversos generadores de características.
|
8
8
|
|
9
|
-
El proyecto fue iniciado por José Luis Bautista
|
10
|
-
|
9
|
+
El proyecto fue iniciado por José Luis Bautista Martín, el 6 de enero
|
10
|
+
de 2016.
|
11
11
|
|
12
12
|
Puede modificar y distribuir este software, según le plazca, y usarlo
|
13
13
|
para cualquier fin ya sea comercial, personal, educativo, o de cualquier
|
14
|
-
índole, siempre y cuando incluya este mensaje, y se permita acceso
|
14
|
+
índole, siempre y cuando incluya este mensaje, y se permita acceso al
|
15
15
|
código fuente.
|
16
16
|
|
17
17
|
Este software es código libre, y se licencia bajo LGPL.
|
@@ -30,7 +30,7 @@ module CapicuaGen
|
|
30
30
|
public
|
31
31
|
attr_accessor :file_name
|
32
32
|
|
33
|
-
# Inicializa la
|
33
|
+
# Inicializa la característica
|
34
34
|
def initialize(values= {})
|
35
35
|
@file_name= values[:file_name]
|
36
36
|
end
|
data/lib/CapicuaGen/generator.rb
CHANGED
@@ -6,12 +6,12 @@ CapicuaGen es un software que ayuda a la creación automática de
|
|
6
6
|
sistemas empresariales a través de la definición y ensamblado de
|
7
7
|
diversos generadores de características.
|
8
8
|
|
9
|
-
El proyecto fue iniciado por José Luis Bautista
|
10
|
-
|
9
|
+
El proyecto fue iniciado por José Luis Bautista Martín, el 6 de enero
|
10
|
+
de 2016.
|
11
11
|
|
12
12
|
Puede modificar y distribuir este software, según le plazca, y usarlo
|
13
13
|
para cualquier fin ya sea comercial, personal, educativo, o de cualquier
|
14
|
-
índole, siempre y cuando incluya este mensaje, y se permita acceso
|
14
|
+
índole, siempre y cuando incluya este mensaje, y se permita acceso al
|
15
15
|
código fuente.
|
16
16
|
|
17
17
|
Este software es código libre, y se licencia bajo LGPL.
|
@@ -27,8 +27,8 @@ require_relative '../CapicuaGen/Examples/Example/Source/example_feature'
|
|
27
27
|
module CapicuaGen
|
28
28
|
|
29
29
|
|
30
|
-
# Clase generadora, nueclo de CapicuaGen, al que se le configuran todas las
|
31
|
-
# y las llama segun corresponda para que generen la parte de
|
30
|
+
# Clase generadora, nueclo de CapicuaGen, al que se le configuran todas las características
|
31
|
+
# y las llama segun corresponda para que generen la parte de código asociado a ellas
|
32
32
|
|
33
33
|
class Generator
|
34
34
|
include CapicuaGen
|
@@ -49,13 +49,13 @@ module CapicuaGen
|
|
49
49
|
@continue_on_failed = true unless @continue_on_failed
|
50
50
|
@local_templates = 'Capicua' unless @local_templates
|
51
51
|
|
52
|
-
# Colecciones de
|
52
|
+
# Colecciones de características que posee el generador
|
53
53
|
@features = []
|
54
54
|
|
55
55
|
# Caraceristicas a ejecutar
|
56
56
|
@targets = []
|
57
57
|
|
58
|
-
# Atributos generales de
|
58
|
+
# Atributos generales de generación
|
59
59
|
@generation_attributes = AttributeMixer.new
|
60
60
|
|
61
61
|
# Configuro el gestor de mensajes
|
@@ -72,7 +72,7 @@ module CapicuaGen
|
|
72
72
|
yield self if block_given?
|
73
73
|
end
|
74
74
|
|
75
|
-
# Coleccion de
|
75
|
+
# Coleccion de características del generador
|
76
76
|
def features(values= {})
|
77
77
|
|
78
78
|
# Configuro los parametros por defecto
|
@@ -86,12 +86,12 @@ module CapicuaGen
|
|
86
86
|
return @features
|
87
87
|
end
|
88
88
|
|
89
|
-
# Agrega una
|
89
|
+
# Agrega una característica en el generador
|
90
90
|
def add_feature (feature)
|
91
91
|
@features<<feature
|
92
92
|
end
|
93
93
|
|
94
|
-
# Quita la
|
94
|
+
# Quita la característica
|
95
95
|
def remove_feature (feature)
|
96
96
|
@features.delete(feature)
|
97
97
|
end
|
@@ -101,7 +101,7 @@ module CapicuaGen
|
|
101
101
|
@features.delete_if { |f| f.name==feature_name }
|
102
102
|
end
|
103
103
|
|
104
|
-
# Obtiene la
|
104
|
+
# Obtiene la característica en base al nombre
|
105
105
|
def get_feature_by_name(feature_name)
|
106
106
|
return @features.detect { |f| f.name==feature_name }
|
107
107
|
end
|
@@ -127,7 +127,7 @@ module CapicuaGen
|
|
127
127
|
end
|
128
128
|
|
129
129
|
|
130
|
-
# Agrega una
|
130
|
+
# Agrega una característica y al mismo tiempo la convierte en objetivo
|
131
131
|
def add_feature_and_target(*features)
|
132
132
|
features.each do |feature|
|
133
133
|
add_feature(feature)
|
@@ -137,7 +137,7 @@ module CapicuaGen
|
|
137
137
|
end
|
138
138
|
|
139
139
|
|
140
|
-
# Obtiene una
|
140
|
+
# Obtiene una característica, que a la vez es un objetivo, por su nombre
|
141
141
|
def get_feature_by_target_name
|
142
142
|
target @targets.detect { |f| f.name==feature_name }
|
143
143
|
|
@@ -146,7 +146,7 @@ module CapicuaGen
|
|
146
146
|
return get_feature_by_name(target.name)
|
147
147
|
end
|
148
148
|
|
149
|
-
# Obtiene una
|
149
|
+
# Obtiene una característica, que a la vez es un objetivo, por su tipo
|
150
150
|
def get_features_in_targets_by_type(target_types= [])
|
151
151
|
features= []
|
152
152
|
|
@@ -162,12 +162,12 @@ module CapicuaGen
|
|
162
162
|
end
|
163
163
|
|
164
164
|
|
165
|
-
# Obtiene una
|
165
|
+
# Obtiene una característica, que a la vez es un objetivo, por su tipo
|
166
166
|
def get_features_in_targets
|
167
167
|
return get_features_in_targets_by_type
|
168
168
|
end
|
169
169
|
|
170
|
-
# Genera todos las
|
170
|
+
# Genera todos las características
|
171
171
|
def generate(values={})
|
172
172
|
|
173
173
|
no_arguments=values[:no_arguments]
|
@@ -241,6 +241,7 @@ module CapicuaGen
|
|
241
241
|
feature.generate
|
242
242
|
targets.delete(t)
|
243
243
|
rescue => e
|
244
|
+
message_helper.puts_error_message "Error en característica '#{feature.name}' de tipo '#{feature.class}'"
|
244
245
|
message_helper.puts_catched_error e
|
245
246
|
end
|
246
247
|
end
|
@@ -255,7 +256,7 @@ module CapicuaGen
|
|
255
256
|
end
|
256
257
|
|
257
258
|
|
258
|
-
# Genera todos las
|
259
|
+
# Genera todos las características
|
259
260
|
def clean(values ={})
|
260
261
|
@start_time = Time.now
|
261
262
|
|
@@ -324,10 +325,10 @@ module CapicuaGen
|
|
324
325
|
|
325
326
|
generator_example = CapicuaGen::Generator.new do |g|
|
326
327
|
|
327
|
-
# Creo las
|
328
|
+
# Creo las características necesarias
|
328
329
|
feature_example = CapicuaGen::ExampleFeature.new(:name => 'feature_example')
|
329
330
|
|
330
|
-
# Agrego las
|
331
|
+
# Agrego las característica al generador
|
331
332
|
g.add_feature_and_target feature_example
|
332
333
|
|
333
334
|
# Configuro los atributos
|
@@ -6,12 +6,12 @@ CapicuaGen es un software que ayuda a la creación automática de
|
|
6
6
|
sistemas empresariales a través de la definición y ensamblado de
|
7
7
|
diversos generadores de características.
|
8
8
|
|
9
|
-
El proyecto fue iniciado por José Luis Bautista
|
10
|
-
|
9
|
+
El proyecto fue iniciado por José Luis Bautista Martín, el 6 de enero
|
10
|
+
de 2016.
|
11
11
|
|
12
12
|
Puede modificar y distribuir este software, según le plazca, y usarlo
|
13
13
|
para cualquier fin ya sea comercial, personal, educativo, o de cualquier
|
14
|
-
índole, siempre y cuando incluya este mensaje, y se permita acceso
|
14
|
+
índole, siempre y cuando incluya este mensaje, y se permita acceso al
|
15
15
|
código fuente.
|
16
16
|
|
17
17
|
Este software es código libre, y se licencia bajo LGPL.
|
@@ -49,11 +49,11 @@ Comandos:
|
|
49
49
|
generate : Genera las caracteriticas configuradas.
|
50
50
|
clean : Limpia los archivos generados.
|
51
51
|
cleanAndGenerate : Limpia los archivos generados y luego los vuelve a crear.
|
52
|
-
example : Genera un ejemplo
|
52
|
+
example : Genera un ejemplo.
|
53
53
|
template : Lista o permite reemplazar plantillas por defecto.
|
54
54
|
|
55
55
|
|
56
|
-
Ejecute '
|
56
|
+
Ejecute '<generator.rb> COMMAND --help' para obtener más ayuda.
|
57
57
|
HELP
|
58
58
|
opts.separator ""
|
59
59
|
opts.separator subtext
|
@@ -61,14 +61,14 @@ HELP
|
|
61
61
|
|
62
62
|
# No argument, shows at tail. This will print an options summary.
|
63
63
|
# Try it and see!
|
64
|
-
opts.on_tail("-h", "--help", "Muestra este mensaje") do
|
64
|
+
opts.on_tail("-h", "--help", "Muestra este mensaje.") do
|
65
65
|
puts opts
|
66
66
|
options.help=true
|
67
67
|
options.exit=true
|
68
68
|
end
|
69
69
|
|
70
70
|
# Another typical switch to print the version.
|
71
|
-
opts.on_tail("--version", "Muestra la versión") do
|
71
|
+
opts.on_tail("--version", "Muestra la versión.") do
|
72
72
|
puts ::Version.join('.')
|
73
73
|
options.version=true
|
74
74
|
options.exit =true
|
@@ -84,16 +84,16 @@ HELP
|
|
84
84
|
opts.separator ""
|
85
85
|
|
86
86
|
# List of arguments.
|
87
|
-
opts.on("--ignore featurename1, featurename2, featurename2", Array, "Lista de
|
87
|
+
opts.on("--ignore featurename1, featurename2, featurename2", Array, "Lista de características que sera omitidas.") do |ignore_features|
|
88
88
|
options.ignore_features = ignore_features
|
89
89
|
options.ignore_features =[] unless options.ignore_features
|
90
90
|
end
|
91
91
|
|
92
|
-
opts.on("-f", "--force", "Fuerza que se sobreescriban las carateristicas generadas") do
|
92
|
+
opts.on("-f", "--force", "Fuerza que se sobreescriban las carateristicas generadas.") do
|
93
93
|
options.force= true
|
94
94
|
end
|
95
95
|
|
96
|
-
opts.on_tail("-h", "--help", "Muestra este mensaje") do
|
96
|
+
opts.on_tail("-h", "--help", "Muestra este mensaje.") do
|
97
97
|
puts opts
|
98
98
|
options.help=true
|
99
99
|
options.exit=true
|
@@ -107,11 +107,11 @@ HELP
|
|
107
107
|
opts.separator ""
|
108
108
|
|
109
109
|
# List of arguments.
|
110
|
-
opts.on("--ignore featurename1, featurename2, featurename2", Array, "Lista de
|
110
|
+
opts.on("--ignore featurename1, featurename2, featurename2", Array, "Lista de características que sera omitidas.") do |ignore_features|
|
111
111
|
options.ignore_features = ignore_features
|
112
112
|
end
|
113
113
|
|
114
|
-
opts.on_tail("-h", "--help", "Muestra este mensaje") do
|
114
|
+
opts.on_tail("-h", "--help", "Muestra este mensaje.") do
|
115
115
|
puts opts
|
116
116
|
options.help=true
|
117
117
|
options.exit=true
|
@@ -126,15 +126,15 @@ HELP
|
|
126
126
|
opts.separator ""
|
127
127
|
|
128
128
|
# List of arguments.
|
129
|
-
opts.on("--ignore featurename1, featurename2, featurename2", Array, "Lista de
|
129
|
+
opts.on("--ignore featurename1, featurename2, featurename2", Array, "Lista de características que sera omitidas.") do |ignore_features|
|
130
130
|
options.ignore_features = ignore_features
|
131
131
|
end
|
132
132
|
|
133
|
-
opts.on("-f", "--force", "Fuerza que se sobreescriban las carateristicas generadas") do
|
133
|
+
opts.on("-f", "--force", "Fuerza que se sobreescriban las carateristicas generadas.") do
|
134
134
|
options.force= true
|
135
135
|
end
|
136
136
|
|
137
|
-
opts.on_tail("-h", "--help", "Muestra este mensaje") do
|
137
|
+
opts.on_tail("-h", "--help", "Muestra este mensaje.") do
|
138
138
|
puts opts
|
139
139
|
options.help=true
|
140
140
|
options.exit=true
|
@@ -151,15 +151,15 @@ HELP
|
|
151
151
|
opts.separator ""
|
152
152
|
|
153
153
|
|
154
|
-
opts.on("-o", "--out directorio", "Directorio de salida") do |directorio|
|
154
|
+
opts.on("-o", "--out directorio", "Directorio de salida.") do |directorio|
|
155
155
|
options.out = directorio
|
156
156
|
end
|
157
157
|
|
158
|
-
opts.on("-f", "--force", "Se sobreescribe el ejemplo") do
|
158
|
+
opts.on("-f", "--force", "Se sobreescribe el ejemplo.") do
|
159
159
|
options.force= true
|
160
160
|
end
|
161
161
|
|
162
|
-
opts.on_tail("-h", "--help", "Muestra este mensaje") do
|
162
|
+
opts.on_tail("-h", "--help", "Muestra este mensaje.") do
|
163
163
|
puts opts
|
164
164
|
options.help=true
|
165
165
|
options.exit=true
|
@@ -177,22 +177,22 @@ HELP
|
|
177
177
|
|
178
178
|
|
179
179
|
# List of arguments.
|
180
|
-
opts.on("-l", "--list", "Lista los templates instalados") do
|
180
|
+
opts.on("-l", "--list", "Lista los templates instalados.") do
|
181
181
|
options.template_list = true
|
182
182
|
end
|
183
183
|
|
184
184
|
# Gema instalada
|
185
|
-
opts.on("-g", "--gem gema", "Gema (instalada) a obtener") do |template_gem|
|
185
|
+
opts.on("-g", "--gem gema", "Gema (instalada) a obtener.") do |template_gem|
|
186
186
|
options.template_gem = template_gem
|
187
187
|
end
|
188
188
|
|
189
|
-
# Tipo de
|
190
|
-
opts.on("-t", "--type tipo", "Tipos de carecteristica") do |type|
|
189
|
+
# Tipo de característica
|
190
|
+
opts.on("-t", "--type tipo", "Tipos de carecteristica.") do |type|
|
191
191
|
options.template_type = type
|
192
192
|
end
|
193
193
|
|
194
|
-
# Tipo de
|
195
|
-
opts.on("-f", "--feature
|
194
|
+
# Tipo de característica
|
195
|
+
opts.on("-f", "--feature característica", "Carecteristica.") do |feature|
|
196
196
|
options.template_feature = feature
|
197
197
|
end
|
198
198
|
|
@@ -201,7 +201,7 @@ HELP
|
|
201
201
|
options.template_out = directorio
|
202
202
|
end
|
203
203
|
|
204
|
-
opts.on_tail("-h", "--help", "Muestra este mensaje") do
|
204
|
+
opts.on_tail("-h", "--help", "Muestra este mensaje.") do
|
205
205
|
puts opts
|
206
206
|
options.help=true
|
207
207
|
options.exit=true
|
data/lib/CapicuaGen/target.rb
CHANGED
@@ -6,12 +6,12 @@ CapicuaGen es un software que ayuda a la creación automática de
|
|
6
6
|
sistemas empresariales a través de la definición y ensamblado de
|
7
7
|
diversos generadores de características.
|
8
8
|
|
9
|
-
El proyecto fue iniciado por José Luis Bautista
|
10
|
-
|
9
|
+
El proyecto fue iniciado por José Luis Bautista Martín, el 6 de enero
|
10
|
+
de 2016.
|
11
11
|
|
12
12
|
Puede modificar y distribuir este software, según le plazca, y usarlo
|
13
13
|
para cualquier fin ya sea comercial, personal, educativo, o de cualquier
|
14
|
-
índole, siempre y cuando incluya este mensaje, y se permita acceso
|
14
|
+
índole, siempre y cuando incluya este mensaje, y se permita acceso al
|
15
15
|
código fuente.
|
16
16
|
|
17
17
|
Este software es código libre, y se licencia bajo LGPL.
|
data/lib/CapicuaGen/template.rb
CHANGED
@@ -6,12 +6,12 @@ CapicuaGen es un software que ayuda a la creación automática de
|
|
6
6
|
sistemas empresariales a través de la definición y ensamblado de
|
7
7
|
diversos generadores de características.
|
8
8
|
|
9
|
-
El proyecto fue iniciado por José Luis Bautista
|
10
|
-
|
9
|
+
El proyecto fue iniciado por José Luis Bautista Martín, el 6 de enero
|
10
|
+
de 2016.
|
11
11
|
|
12
12
|
Puede modificar y distribuir este software, según le plazca, y usarlo
|
13
13
|
para cualquier fin ya sea comercial, personal, educativo, o de cualquier
|
14
|
-
índole, siempre y cuando incluya este mensaje, y se permita acceso
|
14
|
+
índole, siempre y cuando incluya este mensaje, y se permita acceso al
|
15
15
|
código fuente.
|
16
16
|
|
17
17
|
Este software es código libre, y se licencia bajo LGPL.
|
@@ -21,7 +21,7 @@ Para más información consultar http://www.gnu.org/licenses/lgpl.html
|
|
21
21
|
|
22
22
|
module CapicuaGen
|
23
23
|
|
24
|
-
# Define una plantilla para generar
|
24
|
+
# Define una plantilla para generar código
|
25
25
|
class Template
|
26
26
|
|
27
27
|
|
@@ -6,12 +6,12 @@ CapicuaGen es un software que ayuda a la creación automática de
|
|
6
6
|
sistemas empresariales a través de la definición y ensamblado de
|
7
7
|
diversos generadores de características.
|
8
8
|
|
9
|
-
El proyecto fue iniciado por José Luis Bautista
|
10
|
-
|
9
|
+
El proyecto fue iniciado por José Luis Bautista Martín, el 6 de enero
|
10
|
+
de 2016.
|
11
11
|
|
12
12
|
Puede modificar y distribuir este software, según le plazca, y usarlo
|
13
13
|
para cualquier fin ya sea comercial, personal, educativo, o de cualquier
|
14
|
-
índole, siempre y cuando incluya este mensaje, y se permita acceso
|
14
|
+
índole, siempre y cuando incluya este mensaje, y se permita acceso al
|
15
15
|
código fuente.
|
16
16
|
|
17
17
|
Este software es código libre, y se licencia bajo LGPL.
|
@@ -23,7 +23,7 @@ require_relative 'feature'
|
|
23
23
|
|
24
24
|
module CapicuaGen
|
25
25
|
|
26
|
-
# Es un tipo de
|
26
|
+
# Es un tipo de característica especial que se basa en generación de código a travez de plantillas
|
27
27
|
class TemplateFeature < Feature
|
28
28
|
|
29
29
|
|
@@ -59,24 +59,24 @@ module CapicuaGen
|
|
59
59
|
end
|
60
60
|
|
61
61
|
|
62
|
-
# Coleccion de
|
62
|
+
# Coleccion de características del generador
|
63
63
|
def templates
|
64
64
|
return @templates
|
65
65
|
end
|
66
66
|
|
67
|
-
# Agrega una
|
67
|
+
# Agrega una característica en el generador
|
68
68
|
def add_template(template)
|
69
69
|
@templates<<template
|
70
70
|
end
|
71
71
|
|
72
|
-
# Agrega una
|
72
|
+
# Agrega una característica en el generador
|
73
73
|
def set_template(name, template)
|
74
74
|
remove_template_by_name(name)
|
75
75
|
template.name= name
|
76
76
|
@templates<<template
|
77
77
|
end
|
78
78
|
|
79
|
-
# Quita la
|
79
|
+
# Quita la característica
|
80
80
|
def remove_template(template)
|
81
81
|
@templates.delete(template)
|
82
82
|
end
|
@@ -86,7 +86,7 @@ module CapicuaGen
|
|
86
86
|
@templates.delete_if { |f| f.name==template_name }
|
87
87
|
end
|
88
88
|
|
89
|
-
# Obtiene la
|
89
|
+
# Obtiene la característica en base al nombre
|
90
90
|
def get_template_by_name(template_name)
|
91
91
|
return @templates.detect { |f| f.name==template_name }
|
92
92
|
end
|
@@ -158,7 +158,7 @@ module CapicuaGen
|
|
158
158
|
|
159
159
|
end
|
160
160
|
|
161
|
-
# Genero el
|
161
|
+
# Genero el código, usando todas las plantillas configuradas
|
162
162
|
def generate
|
163
163
|
super()
|
164
164
|
|
@@ -166,7 +166,14 @@ module CapicuaGen
|
|
166
166
|
|
167
167
|
# Genera una a una todas los objetivos de los templates
|
168
168
|
self.template_targets.each do |t|
|
169
|
-
|
169
|
+
begin
|
170
|
+
generate_template_target(t)
|
171
|
+
rescue => e
|
172
|
+
error_message="Error en #{t.inspect}"
|
173
|
+
message_helper.puts_error_message error_message
|
174
|
+
message_helper.remove_indent
|
175
|
+
raise e
|
176
|
+
end
|
170
177
|
end
|
171
178
|
|
172
179
|
message_helper.remove_indent
|
@@ -265,7 +272,7 @@ module CapicuaGen
|
|
265
272
|
end
|
266
273
|
|
267
274
|
|
268
|
-
# Devuelve los archivos generados por esta
|
275
|
+
# Devuelve los archivos generados por esta características
|
269
276
|
def get_out_file_information(values= {})
|
270
277
|
|
271
278
|
# Recupero los parametros
|
@@ -6,12 +6,12 @@ CapicuaGen es un software que ayuda a la creación automática de
|
|
6
6
|
sistemas empresariales a través de la definición y ensamblado de
|
7
7
|
diversos generadores de características.
|
8
8
|
|
9
|
-
El proyecto fue iniciado por José Luis Bautista
|
10
|
-
|
9
|
+
El proyecto fue iniciado por José Luis Bautista Martín, el 6 de enero
|
10
|
+
de 2016.
|
11
11
|
|
12
12
|
Puede modificar y distribuir este software, según le plazca, y usarlo
|
13
13
|
para cualquier fin ya sea comercial, personal, educativo, o de cualquier
|
14
|
-
índole, siempre y cuando incluya este mensaje, y se permita acceso
|
14
|
+
índole, siempre y cuando incluya este mensaje, y se permita acceso al
|
15
15
|
código fuente.
|
16
16
|
|
17
17
|
Este software es código libre, y se licencia bajo LGPL.
|
data/lib/CapicuaGen/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: CapicuaGen
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- José Luis Bautista Martín
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2016-
|
11
|
+
date: 2016-07-17 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -117,12 +117,12 @@ description: |-
|
|
117
117
|
sistemas empresariales a través de la definición y ensamblado de
|
118
118
|
diversos generadores de características.
|
119
119
|
|
120
|
-
El proyecto fue iniciado por José Luis Bautista
|
121
|
-
|
120
|
+
El proyecto fue iniciado por José Luis Bautista Martín, el 6 de enero
|
121
|
+
de 2016.
|
122
122
|
|
123
123
|
Puede modificar y distribuir este software, según le plazca, y usarlo
|
124
124
|
para cualquier fin ya sea comercial, personal, educativo, o de cualquier
|
125
|
-
índole, siempre y cuando incluya este mensaje, y se permita acceso
|
125
|
+
índole, siempre y cuando incluya este mensaje, y se permita acceso al
|
126
126
|
código fuente.
|
127
127
|
|
128
128
|
Este software es código libre, y se licencia bajo LGPL.
|