CapicuaGenGaspar 0.0.2
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/.gitignore +11 -0
- data/.rspec +2 -0
- data/.travis.yml +4 -0
- data/CODE_OF_CONDUCT.md +49 -0
- data/CapicuaGenGaspar.gemspec +60 -0
- data/Gemfile +4 -0
- data/Gemfile.lock +33 -0
- data/LICENSE +165 -0
- data/README.md +41 -0
- data/Rakefile +6 -0
- data/bin/console +14 -0
- data/bin/setup +8 -0
- data/lib/CapicuaGenGaspar/Business/CSSqlEntitityInterface/Source/cs_sql_entity_interface_feature.rb +96 -0
- data/lib/CapicuaGenGaspar/Business/CSSqlEntitityInterface/Template/table_interface.erb +49 -0
- data/lib/CapicuaGenGaspar/Business/CSSqlEntity/Source/cs_sql_entity_feature.rb +103 -0
- data/lib/CapicuaGenGaspar/Business/CSSqlEntity/Template/table_entity.erb +51 -0
- data/lib/CapicuaGenGaspar/CodeTransformer/CSHeaderFooter/Source/cs_header_footer_feature.rb +148 -0
- data/lib/CapicuaGenGaspar/CodeTransformer/CSHeaderFooter/Template/footer.erb +37 -0
- data/lib/CapicuaGenGaspar/CodeTransformer/CSHeaderFooter/Template/header.erb +43 -0
- data/lib/CapicuaGenGaspar/CodeTransformer/CodeMaidCleaner/Bin/EnvDTE.dll +0 -0
- data/lib/CapicuaGenGaspar/CodeTransformer/CodeMaidCleaner/Bin/EnvDTE80.dll +0 -0
- data/lib/CapicuaGenGaspar/CodeTransformer/CodeMaidCleaner/Bin/RunCodeMaidCleaner.exe +0 -0
- data/lib/CapicuaGenGaspar/CodeTransformer/CodeMaidCleaner/Bin/RunCodeMaidCleaner.exe.config +52 -0
- data/lib/CapicuaGenGaspar/CodeTransformer/CodeMaidCleaner/Bin/stdole.dll +0 -0
- data/lib/CapicuaGenGaspar/CodeTransformer/CodeMaidCleaner/Source/code_maid_cleaner_feature.rb +162 -0
- data/lib/CapicuaGenGaspar/DataAccess/CSConnectionProvider/Source/cs_db_connection_provider_feature.rb +90 -0
- data/lib/CapicuaGenGaspar/DataAccess/CSSqlDataAccess/Source/cs_sql_data_access_feature.rb +106 -0
- data/lib/CapicuaGenGaspar/DataAccess/CSSqlDataAccess/Template/data_access.erb +154 -0
- data/lib/CapicuaGenGaspar/DataAccess/CSSqlDataAccess/Template/data_access_exception.erb +36 -0
- data/lib/CapicuaGenGaspar/DataAccess/CSSqlDataAccess/Template/data_access_table.erb +298 -0
- data/lib/CapicuaGenGaspar/Entities/CSEntity/Source/entity_field_schema.rb +100 -0
- data/lib/CapicuaGenGaspar/GUI/CSAboutWindowsForm/Source/cs_about_windows_form_feature.rb +85 -0
- data/lib/CapicuaGenGaspar/GUI/CSAboutWindowsForm/Template/AboutForm.designer.erb +211 -0
- data/lib/CapicuaGenGaspar/GUI/CSAboutWindowsForm/Template/AboutForm.erb +127 -0
- data/lib/CapicuaGenGaspar/GUI/CSAboutWindowsForm/Template/AboutForm.resx.erb +535 -0
- data/lib/CapicuaGenGaspar/GUI/CSCatalogWindowsForm/Source/cs_catalog_windows_form_feature.rb +146 -0
- data/lib/CapicuaGenGaspar/GUI/CSCatalogWindowsForm/Template/CatalogForm.Designer.erb +363 -0
- data/lib/CapicuaGenGaspar/GUI/CSCatalogWindowsForm/Template/CatalogForm.erb +320 -0
- data/lib/CapicuaGenGaspar/GUI/CSCatalogWindowsForm/Template/CatalogForm.resx.erb +2407 -0
- data/lib/CapicuaGenGaspar/GUI/CSCatalogWindowsForm/Template/CatalogState.erb +51 -0
- data/lib/CapicuaGenGaspar/GUI/CSMDIWindowsForm/Source/cs_mdi_windows_form_feature.rb +93 -0
- data/lib/CapicuaGenGaspar/GUI/CSMDIWindowsForm/Template/MainForm.Designer.erb +316 -0
- data/lib/CapicuaGenGaspar/GUI/CSMDIWindowsForm/Template/MainForm.erb +161 -0
- data/lib/CapicuaGenGaspar/GUI/CSMDIWindowsForm/Template/MainForm.resx.erb +2504 -0
- data/lib/CapicuaGenGaspar/GUI/CSMDIWindowsForm/Template/MsgboxConsts.erb +31 -0
- data/lib/CapicuaGenGaspar/GUI/CSSplashWindowsForm/Source/cs_splash_windows_feature.rb +87 -0
- data/lib/CapicuaGenGaspar/GUI/CSSplashWindowsForm/Template/SplashForm.designer.erb +141 -0
- data/lib/CapicuaGenGaspar/GUI/CSSplashWindowsForm/Template/SplashForm.erb +160 -0
- data/lib/CapicuaGenGaspar/GUI/CSSplashWindowsForm/Template/SplashForm.resx.erb +535 -0
- data/lib/CapicuaGenGaspar/Mixins/about_mixin.rb +55 -0
- data/lib/CapicuaGenGaspar/Mixins/catalog_mixin.rb +65 -0
- data/lib/CapicuaGenGaspar/Mixins/cs_app_config_mixin.rb +41 -0
- data/lib/CapicuaGenGaspar/Mixins/cs_db_connection_provider_mixin.rb +67 -0
- data/lib/CapicuaGenGaspar/Mixins/cs_namespace_mixin.rb +53 -0
- data/lib/CapicuaGenGaspar/Mixins/entity_interface_mixin.rb +57 -0
- data/lib/CapicuaGenGaspar/Mixins/entity_mixin.rb +58 -0
- data/lib/CapicuaGenGaspar/Mixins/entity_sql_table_mixin.rb +58 -0
- data/lib/CapicuaGenGaspar/Mixins/main_form_mixin.rb +55 -0
- data/lib/CapicuaGenGaspar/Mixins/splash_mixin.rb +54 -0
- data/lib/CapicuaGenGaspar/Proyect/CSProyect/Source/cs_proyect_feature.rb +140 -0
- data/lib/CapicuaGenGaspar/Proyect/CSProyectRESTFul/Source/cs_proyect_rest_ful_feature.rb +82 -0
- data/lib/CapicuaGenGaspar/Proyect/CSProyectRESTFul/Template/AssemblyInfo.erb +59 -0
- data/lib/CapicuaGenGaspar/Proyect/CSProyectRESTFul/Template/ExcepcionControlada.erb +38 -0
- data/lib/CapicuaGenGaspar/Proyect/CSProyectRESTFul/Template/Proyect.erb +114 -0
- data/lib/CapicuaGenGaspar/Proyect/CSProyectRESTFul/Template/Soluction.erb +54 -0
- data/lib/CapicuaGenGaspar/Proyect/CSProyectRESTFul/Template/Web.erb +66 -0
- data/lib/CapicuaGenGaspar/Proyect/CSProyectWindowsForm/Source/cs_proyect_windows_form_feature.rb +85 -0
- data/lib/CapicuaGenGaspar/Proyect/CSProyectWindowsForm/Template/App.erb +32 -0
- data/lib/CapicuaGenGaspar/Proyect/CSProyectWindowsForm/Template/AssemblyInfo.erb +59 -0
- data/lib/CapicuaGenGaspar/Proyect/CSProyectWindowsForm/Template/ControlExcepciones.erb +49 -0
- data/lib/CapicuaGenGaspar/Proyect/CSProyectWindowsForm/Template/ExcepcionControlada.erb +40 -0
- data/lib/CapicuaGenGaspar/Proyect/CSProyectWindowsForm/Template/Program.erb +46 -0
- data/lib/CapicuaGenGaspar/Proyect/CSProyectWindowsForm/Template/Proyect.erb +138 -0
- data/lib/CapicuaGenGaspar/Proyect/CSProyectWindowsForm/Template/Soluction.erb +55 -0
- data/lib/CapicuaGenGaspar/Tools/message_helper.rb +43 -0
- data/lib/CapicuaGenGaspar/WCFService/CSRESTFulCatalog/Source/cs_rest_ful_catalog_feature.rb +176 -0
- data/lib/CapicuaGenGaspar/WCFService/CSRESTFulCatalog/Template/CatalogState.erb +51 -0
- data/lib/CapicuaGenGaspar/WCFService/CSRESTFulCatalog/Template/Catalogs.erb +58 -0
- data/lib/CapicuaGenGaspar/WCFService/CSRESTFulCatalog/Template/Catalogs.svc.erb +24 -0
- data/lib/CapicuaGenGaspar/WCFService/CSRESTFulCatalog/Template/ICatalogs.erb +58 -0
- data/lib/CapicuaGenGaspar/gaspar.rb +44 -0
- data/lib/CapicuaGenGaspar/version.rb +3 -0
- metadata +216 -0
@@ -0,0 +1,65 @@
|
|
1
|
+
=begin
|
2
|
+
|
3
|
+
CapicuaGen
|
4
|
+
|
5
|
+
CapicuaGen es un software que ayuda a la creación automática de
|
6
|
+
sistemas empresariales a través de la definición y ensamblado de
|
7
|
+
diversos generadores de características.
|
8
|
+
|
9
|
+
El proyecto fue iniciado por José Luis Bautista Martin, el 6 de enero
|
10
|
+
del 2016.
|
11
|
+
|
12
|
+
Puede modificar y distribuir este software, según le plazca, y usarlo
|
13
|
+
para cualquier fin ya sea comercial, personal, educativo, o de cualquier
|
14
|
+
índole, siempre y cuando incluya este mensaje, y se permita acceso el
|
15
|
+
código fuente.
|
16
|
+
|
17
|
+
Este software es código libre, y se licencia bajo LGPL.
|
18
|
+
|
19
|
+
Para más información consultar http://www.gnu.org/licenses/lgpl.html
|
20
|
+
=end
|
21
|
+
|
22
|
+
|
23
|
+
=begin
|
24
|
+
Este Mixin esta programado para obtener información de las caracteristicas
|
25
|
+
de proveedoras de los ventanas de administracion (persistencia)
|
26
|
+
de entidades :catalog
|
27
|
+
=end
|
28
|
+
|
29
|
+
module CapicuaGen::Gaspar
|
30
|
+
|
31
|
+
public
|
32
|
+
|
33
|
+
# Obtiene el nombre completo de los catalogos
|
34
|
+
def get_entity_catalogs_full_name
|
35
|
+
# Busco las caracteristicas que contiene entidades de SQL para una table
|
36
|
+
generator.get_features_in_targets_by_type(:catalog).each do |f|
|
37
|
+
# Obtengo las entidades
|
38
|
+
f.get_entity_catalogs_full_name do |e|
|
39
|
+
yield e
|
40
|
+
end
|
41
|
+
end
|
42
|
+
end
|
43
|
+
|
44
|
+
# Obtiene el nombre de los catalogos
|
45
|
+
def get_entity_catalogs_name
|
46
|
+
# Busco las caracteristicas que contiene entidades de SQL para una table
|
47
|
+
generator.get_features_in_targets_by_type(:catalog).each do |f|
|
48
|
+
# Obtengo las entidades
|
49
|
+
f.get_entity_catalogs_name do |e|
|
50
|
+
yield e
|
51
|
+
end
|
52
|
+
end
|
53
|
+
end
|
54
|
+
|
55
|
+
# Obtiene una entidad en base al nombre del catalogo
|
56
|
+
def get_entity_by_catalog_name(catalog_name)
|
57
|
+
# Busco las caracteristicas que contiene entidades de SQL para una table
|
58
|
+
generator.get_features_in_targets_by_type(:catalog).each do |f|
|
59
|
+
# Obtengo las entidades
|
60
|
+
return f.get_entity_by_catalog_name(catalog_name)
|
61
|
+
end
|
62
|
+
end
|
63
|
+
|
64
|
+
end
|
65
|
+
|
@@ -0,0 +1,41 @@
|
|
1
|
+
=begin
|
2
|
+
|
3
|
+
CapicuaGen
|
4
|
+
|
5
|
+
CapicuaGen es un software que ayuda a la creación automática de
|
6
|
+
sistemas empresariales a través de la definición y ensamblado de
|
7
|
+
diversos generadores de características.
|
8
|
+
|
9
|
+
El proyecto fue iniciado por José Luis Bautista Martin, el 6 de enero
|
10
|
+
del 2016.
|
11
|
+
|
12
|
+
Puede modificar y distribuir este software, según le plazca, y usarlo
|
13
|
+
para cualquier fin ya sea comercial, personal, educativo, o de cualquier
|
14
|
+
índole, siempre y cuando incluya este mensaje, y se permita acceso el
|
15
|
+
código fuente.
|
16
|
+
|
17
|
+
Este software es código libre, y se licencia bajo LGPL.
|
18
|
+
|
19
|
+
Para más información consultar http://www.gnu.org/licenses/lgpl.html
|
20
|
+
=end
|
21
|
+
|
22
|
+
=begin
|
23
|
+
Este Mixin esta programado para obtener información de las caracteristicas
|
24
|
+
de proveedoras del archivo app.config :app_config
|
25
|
+
=end
|
26
|
+
|
27
|
+
|
28
|
+
module CapicuaGen::Gaspar
|
29
|
+
|
30
|
+
public
|
31
|
+
|
32
|
+
def get_app_config_file
|
33
|
+
# Busco las caracteristicas que contiene entidades de SQL para una table
|
34
|
+
generator.get_features_in_targets_by_type(:app_config).each do |f|
|
35
|
+
# Obtengo las entidades
|
36
|
+
return f.get_app_config_file
|
37
|
+
end
|
38
|
+
end
|
39
|
+
|
40
|
+
end
|
41
|
+
|
@@ -0,0 +1,67 @@
|
|
1
|
+
=begin
|
2
|
+
|
3
|
+
CapicuaGen
|
4
|
+
|
5
|
+
CapicuaGen es un software que ayuda a la creación automática de
|
6
|
+
sistemas empresariales a través de la definición y ensamblado de
|
7
|
+
diversos generadores de características.
|
8
|
+
|
9
|
+
El proyecto fue iniciado por José Luis Bautista Martin, el 6 de enero
|
10
|
+
del 2016.
|
11
|
+
|
12
|
+
Puede modificar y distribuir este software, según le plazca, y usarlo
|
13
|
+
para cualquier fin ya sea comercial, personal, educativo, o de cualquier
|
14
|
+
índole, siempre y cuando incluya este mensaje, y se permita acceso el
|
15
|
+
código fuente.
|
16
|
+
|
17
|
+
Este software es código libre, y se licencia bajo LGPL.
|
18
|
+
|
19
|
+
Para más información consultar http://www.gnu.org/licenses/lgpl.html
|
20
|
+
=end
|
21
|
+
|
22
|
+
|
23
|
+
=begin
|
24
|
+
Este Mixin esta programado para obtener información de las caracteristicas
|
25
|
+
de proveedoras de conexciones a base de datos :data_connection_provider
|
26
|
+
=end
|
27
|
+
|
28
|
+
|
29
|
+
module CapicuaGen::Gaspar
|
30
|
+
|
31
|
+
public
|
32
|
+
|
33
|
+
# Devuelve el metodo para acceder a el proveedor de la coexion
|
34
|
+
def get_db_connection_provider_method
|
35
|
+
# Busco las caracteristicas que contiene entidades de SQL para una table
|
36
|
+
generator.get_features_in_targets_by_type(:data_connection_provider).each do |f|
|
37
|
+
# Obtengo las entidades
|
38
|
+
return f.get_db_connection_provider_method
|
39
|
+
end
|
40
|
+
|
41
|
+
return nil
|
42
|
+
end
|
43
|
+
|
44
|
+
# Devuelve el nombre de la conexión
|
45
|
+
def get_db_connection_name_method
|
46
|
+
# Busco las caracteristicas que contiene entidades de SQL para una table
|
47
|
+
generator.get_features_in_targets_by_type(:data_connection_provider).each do |f|
|
48
|
+
# Obtengo las entidades
|
49
|
+
return f.get_db_connection_name_method
|
50
|
+
end
|
51
|
+
|
52
|
+
return nil
|
53
|
+
end
|
54
|
+
|
55
|
+
# Devuelve la cadena de conexion de la conexión
|
56
|
+
def get_db_connection_string_method
|
57
|
+
# Busco las caracteristicas que contiene entidades de SQL para una table
|
58
|
+
generator.get_features_in_targets_by_type(:data_connection_provider).each do |f|
|
59
|
+
# Obtengo las entidades
|
60
|
+
return f.get_db_connection_string_method
|
61
|
+
end
|
62
|
+
|
63
|
+
return nil
|
64
|
+
end
|
65
|
+
|
66
|
+
end
|
67
|
+
|
@@ -0,0 +1,53 @@
|
|
1
|
+
=begin
|
2
|
+
|
3
|
+
CapicuaGen
|
4
|
+
|
5
|
+
CapicuaGen es un software que ayuda a la creación automática de
|
6
|
+
sistemas empresariales a través de la definición y ensamblado de
|
7
|
+
diversos generadores de características.
|
8
|
+
|
9
|
+
El proyecto fue iniciado por José Luis Bautista Martin, el 6 de enero
|
10
|
+
del 2016.
|
11
|
+
|
12
|
+
Puede modificar y distribuir este software, según le plazca, y usarlo
|
13
|
+
para cualquier fin ya sea comercial, personal, educativo, o de cualquier
|
14
|
+
índole, siempre y cuando incluya este mensaje, y se permita acceso el
|
15
|
+
código fuente.
|
16
|
+
|
17
|
+
Este software es código libre, y se licencia bajo LGPL.
|
18
|
+
|
19
|
+
Para más información consultar http://www.gnu.org/licenses/lgpl.html
|
20
|
+
=end
|
21
|
+
|
22
|
+
=begin
|
23
|
+
Este Mixin esta programado para obtener información de las caracteristicas
|
24
|
+
de proveedoras de funcionalidad para acceder a los namespaces generados
|
25
|
+
=end
|
26
|
+
|
27
|
+
|
28
|
+
require 'CapicuaGen/Mixins/parameter_mixin'
|
29
|
+
require 'CapicuaGen/Mixins/attributes_mixin'
|
30
|
+
|
31
|
+
module CapicuaGen::Gaspar
|
32
|
+
include CapicuaGen
|
33
|
+
|
34
|
+
public
|
35
|
+
|
36
|
+
# Devuelve una coleccion de namespace
|
37
|
+
def get_namespaces(target_types= [])
|
38
|
+
get_attributes( :attributes=>:namespace, :target_types=>target_types) do |a,values|
|
39
|
+
values.each {|v| yield v}
|
40
|
+
end
|
41
|
+
end
|
42
|
+
|
43
|
+
# Devuelve un unico string con imports del namespace
|
44
|
+
def get_namespaces_text(target_types= [])
|
45
|
+
result= ''
|
46
|
+
# Busco las caracteristicas que contiene entidades de SQL para una table
|
47
|
+
get_namespaces(target_types) do |n|
|
48
|
+
result << "using #{n};#{$/}"
|
49
|
+
end
|
50
|
+
return result;
|
51
|
+
end
|
52
|
+
end
|
53
|
+
|
@@ -0,0 +1,57 @@
|
|
1
|
+
=begin
|
2
|
+
|
3
|
+
CapicuaGen
|
4
|
+
|
5
|
+
CapicuaGen es un software que ayuda a la creación automática de
|
6
|
+
sistemas empresariales a través de la definición y ensamblado de
|
7
|
+
diversos generadores de características.
|
8
|
+
|
9
|
+
El proyecto fue iniciado por José Luis Bautista Martin, el 6 de enero
|
10
|
+
del 2016.
|
11
|
+
|
12
|
+
Puede modificar y distribuir este software, según le plazca, y usarlo
|
13
|
+
para cualquier fin ya sea comercial, personal, educativo, o de cualquier
|
14
|
+
índole, siempre y cuando incluya este mensaje, y se permita acceso el
|
15
|
+
código fuente.
|
16
|
+
|
17
|
+
Este software es código libre, y se licencia bajo LGPL.
|
18
|
+
|
19
|
+
Para más información consultar http://www.gnu.org/licenses/lgpl.html
|
20
|
+
=end
|
21
|
+
|
22
|
+
=begin
|
23
|
+
Este Mixin esta programado para obtener información de las caracteristicas
|
24
|
+
de proveedoras de interfaces entidades de negocio :business_interfaces
|
25
|
+
=end
|
26
|
+
|
27
|
+
|
28
|
+
module CapicuaGen::Gaspar
|
29
|
+
|
30
|
+
public
|
31
|
+
|
32
|
+
# Obtiene el nombre de una clase de una interfaz de entidad de negocio
|
33
|
+
def get_entity_interface_name(entity_name)
|
34
|
+
# Busco las caracteristicas que contiene entidades de SQL para una table
|
35
|
+
generator.get_features_in_targets_by_type(:business_interfaces).each do |f|
|
36
|
+
# Obtengo las entidades
|
37
|
+
name= f.get_entity_interface_name(entity_name)
|
38
|
+
return name if name
|
39
|
+
end
|
40
|
+
return nil
|
41
|
+
end
|
42
|
+
|
43
|
+
|
44
|
+
# Obtiene el nombre completo de una clase de una interfaz de entidad de negocio
|
45
|
+
def get_entity_interface_full_name(entity_name)
|
46
|
+
# Busco las caracteristicas que contiene entidades de SQL para una table
|
47
|
+
generator.get_features_in_targets_by_type(:business_interfaces).each do |f|
|
48
|
+
# Obtengo las entidades
|
49
|
+
name= f.get_entity_interface_full_name(entity_name)
|
50
|
+
return name if name
|
51
|
+
end
|
52
|
+
return nil
|
53
|
+
end
|
54
|
+
|
55
|
+
|
56
|
+
end
|
57
|
+
|
@@ -0,0 +1,58 @@
|
|
1
|
+
=begin
|
2
|
+
|
3
|
+
CapicuaGen
|
4
|
+
|
5
|
+
CapicuaGen es un software que ayuda a la creación automática de
|
6
|
+
sistemas empresariales a través de la definición y ensamblado de
|
7
|
+
diversos generadores de características.
|
8
|
+
|
9
|
+
El proyecto fue iniciado por José Luis Bautista Martin, el 6 de enero
|
10
|
+
del 2016.
|
11
|
+
|
12
|
+
Puede modificar y distribuir este software, según le plazca, y usarlo
|
13
|
+
para cualquier fin ya sea comercial, personal, educativo, o de cualquier
|
14
|
+
índole, siempre y cuando incluya este mensaje, y se permita acceso el
|
15
|
+
código fuente.
|
16
|
+
|
17
|
+
Este software es código libre, y se licencia bajo LGPL.
|
18
|
+
|
19
|
+
Para más información consultar http://www.gnu.org/licenses/lgpl.html
|
20
|
+
=end
|
21
|
+
|
22
|
+
|
23
|
+
=begin
|
24
|
+
Este Mixin esta programado para obtener información de las caracteristicas
|
25
|
+
de proveedoras de entidades de negocio :business_entities
|
26
|
+
=end
|
27
|
+
|
28
|
+
|
29
|
+
module CapicuaGen::Gaspar
|
30
|
+
|
31
|
+
public
|
32
|
+
|
33
|
+
# Obtiene el nombre de una clase de una entidad de negocio
|
34
|
+
def get_entity_name(entity_name)
|
35
|
+
# Busco las caracteristicas que contiene entidades de SQL para una table
|
36
|
+
generator.get_features_in_targets_by_type(:business_entities).each do |f|
|
37
|
+
# Obtengo las entidades
|
38
|
+
name= f.get_entity_name(entity_name)
|
39
|
+
return name if name
|
40
|
+
end
|
41
|
+
return nil
|
42
|
+
end
|
43
|
+
|
44
|
+
|
45
|
+
# Obtiene el nombre completo de una clase de una entidad de negocio
|
46
|
+
def get_entity_full_name(entity_name)
|
47
|
+
# Busco las caracteristicas que contiene entidades de SQL para una table
|
48
|
+
generator.get_features_in_targets_by_type(:business_entities).each do |f|
|
49
|
+
# Obtengo las entidades
|
50
|
+
name= f.get_entity_full_name(entity_name)
|
51
|
+
return name if name
|
52
|
+
end
|
53
|
+
return nil
|
54
|
+
end
|
55
|
+
|
56
|
+
|
57
|
+
end
|
58
|
+
|
@@ -0,0 +1,58 @@
|
|
1
|
+
=begin
|
2
|
+
|
3
|
+
CapicuaGen
|
4
|
+
|
5
|
+
CapicuaGen es un software que ayuda a la creación automática de
|
6
|
+
sistemas empresariales a través de la definición y ensamblado de
|
7
|
+
diversos generadores de características.
|
8
|
+
|
9
|
+
El proyecto fue iniciado por José Luis Bautista Martin, el 6 de enero
|
10
|
+
del 2016.
|
11
|
+
|
12
|
+
Puede modificar y distribuir este software, según le plazca, y usarlo
|
13
|
+
para cualquier fin ya sea comercial, personal, educativo, o de cualquier
|
14
|
+
índole, siempre y cuando incluya este mensaje, y se permita acceso el
|
15
|
+
código fuente.
|
16
|
+
|
17
|
+
Este software es código libre, y se licencia bajo LGPL.
|
18
|
+
|
19
|
+
Para más información consultar http://www.gnu.org/licenses/lgpl.html
|
20
|
+
=end
|
21
|
+
|
22
|
+
=begin
|
23
|
+
Este Mixin esta programado para obtener información de las caracteristicas
|
24
|
+
de proveedoras de ventanas principales :main_form
|
25
|
+
=end
|
26
|
+
|
27
|
+
|
28
|
+
require 'CapicuaGenMelchior/Mixins/entity_sql_table_mixin'
|
29
|
+
|
30
|
+
module CapicuaGen::Gaspar
|
31
|
+
|
32
|
+
public
|
33
|
+
|
34
|
+
# Obtiene el nombre de las clase de persistenacia que le corresponde a una entidad
|
35
|
+
def get_entity_data_access_name(entity_name)
|
36
|
+
# Busco las caracteristicas que contiene entidades de SQL para una table
|
37
|
+
generator.get_features_in_targets_by_type(:data_access).each do |f|
|
38
|
+
# Obtengo las entidades
|
39
|
+
name= f.get_entity_data_access_name(entity_name)
|
40
|
+
return name if name
|
41
|
+
end
|
42
|
+
return nil
|
43
|
+
end
|
44
|
+
|
45
|
+
# Obtiene el nombre completo de las clase de persistenacia que le corresponde a una entidad
|
46
|
+
def get_entity_data_access_full_name(entity_name)
|
47
|
+
# Busco las caracteristicas que contiene entidades de SQL para una table
|
48
|
+
generator.get_features_in_targets_by_type(:data_access).each do |f|
|
49
|
+
# Obtengo las entidades
|
50
|
+
name= f.get_entity_data_access_full_name(entity_name)
|
51
|
+
return name if name
|
52
|
+
end
|
53
|
+
return nil
|
54
|
+
end
|
55
|
+
|
56
|
+
|
57
|
+
end
|
58
|
+
|
@@ -0,0 +1,55 @@
|
|
1
|
+
=begin
|
2
|
+
|
3
|
+
CapicuaGen
|
4
|
+
|
5
|
+
CapicuaGen es un software que ayuda a la creación automática de
|
6
|
+
sistemas empresariales a través de la definición y ensamblado de
|
7
|
+
diversos generadores de características.
|
8
|
+
|
9
|
+
El proyecto fue iniciado por José Luis Bautista Martin, el 6 de enero
|
10
|
+
del 2016.
|
11
|
+
|
12
|
+
Puede modificar y distribuir este software, según le plazca, y usarlo
|
13
|
+
para cualquier fin ya sea comercial, personal, educativo, o de cualquier
|
14
|
+
índole, siempre y cuando incluya este mensaje, y se permita acceso el
|
15
|
+
código fuente.
|
16
|
+
|
17
|
+
Este software es código libre, y se licencia bajo LGPL.
|
18
|
+
|
19
|
+
Para más información consultar http://www.gnu.org/licenses/lgpl.html
|
20
|
+
=end
|
21
|
+
|
22
|
+
=begin
|
23
|
+
Este Mixin esta programado para obtener información de las caracteristicas
|
24
|
+
de proveedoras de ventanas principales :main_form
|
25
|
+
=end
|
26
|
+
|
27
|
+
|
28
|
+
module CapicuaGen::Gaspar
|
29
|
+
|
30
|
+
public
|
31
|
+
|
32
|
+
# Busca el nombre de la ventana principal
|
33
|
+
def get_main_form_class_name
|
34
|
+
# Busco las caracteristicas que contiene entidades de SQL para una table
|
35
|
+
generator.get_features_in_targets_by_type(:main_form).each do |f|
|
36
|
+
# Obtengo las entidades
|
37
|
+
return f.get_class_name
|
38
|
+
end
|
39
|
+
|
40
|
+
return nil
|
41
|
+
end
|
42
|
+
|
43
|
+
# Busca el nombre completo de la ventana principal
|
44
|
+
def get_main_form_class_full_name
|
45
|
+
# Busco las caracteristicas que contiene entidades de SQL para una table
|
46
|
+
generator.get_features_in_targets_by_type(:main_form).each do |f|
|
47
|
+
# Obtengo las entidades
|
48
|
+
return f.get_class_full_name
|
49
|
+
end
|
50
|
+
|
51
|
+
return nil
|
52
|
+
end
|
53
|
+
|
54
|
+
end
|
55
|
+
|
@@ -0,0 +1,54 @@
|
|
1
|
+
=begin
|
2
|
+
|
3
|
+
CapicuaGen
|
4
|
+
|
5
|
+
CapicuaGen es un software que ayuda a la creación automática de
|
6
|
+
sistemas empresariales a través de la definición y ensamblado de
|
7
|
+
diversos generadores de características.
|
8
|
+
|
9
|
+
El proyecto fue iniciado por José Luis Bautista Martin, el 6 de enero
|
10
|
+
del 2016.
|
11
|
+
|
12
|
+
Puede modificar y distribuir este software, según le plazca, y usarlo
|
13
|
+
para cualquier fin ya sea comercial, personal, educativo, o de cualquier
|
14
|
+
índole, siempre y cuando incluya este mensaje, y se permita acceso el
|
15
|
+
código fuente.
|
16
|
+
|
17
|
+
Este software es código libre, y se licencia bajo LGPL.
|
18
|
+
|
19
|
+
Para más información consultar http://www.gnu.org/licenses/lgpl.html
|
20
|
+
=end
|
21
|
+
|
22
|
+
=begin
|
23
|
+
Este Mixin esta programado para obtener información de las caracteristicas
|
24
|
+
de proveedoras de ventanas de bienvenida :splash_form
|
25
|
+
=end
|
26
|
+
|
27
|
+
module CapicuaGen::Gaspar
|
28
|
+
|
29
|
+
public
|
30
|
+
|
31
|
+
# Obtiene el nombre de las ventanas de bienvenidas existentes
|
32
|
+
def get_splash_class_name
|
33
|
+
# Busco las caracteristicas que contiene entidades de SQL para una table
|
34
|
+
generator.get_features_in_targets_by_type(:splash_form).each do |f|
|
35
|
+
# Obtengo las entidades
|
36
|
+
return f.get_class_name
|
37
|
+
end
|
38
|
+
|
39
|
+
return nil
|
40
|
+
end
|
41
|
+
|
42
|
+
# Obtiene el nombre completo de las ventanas de bienvenidas existentes
|
43
|
+
def get_splash_class_full_name
|
44
|
+
# Busco las caracteristicas que contiene entidades de SQL para una table
|
45
|
+
generator.get_features_in_targets_by_type(:splash_form).each do |f|
|
46
|
+
# Obtengo las entidades
|
47
|
+
return f.get_class_full_name
|
48
|
+
end
|
49
|
+
|
50
|
+
return nil
|
51
|
+
end
|
52
|
+
|
53
|
+
end
|
54
|
+
|
@@ -0,0 +1,140 @@
|
|
1
|
+
=begin
|
2
|
+
|
3
|
+
CapicuaGen
|
4
|
+
|
5
|
+
CapicuaGen es un software que ayuda a la creación automática de
|
6
|
+
sistemas empresariales a través de la definición y ensamblado de
|
7
|
+
diversos generadores de características.
|
8
|
+
|
9
|
+
El proyecto fue iniciado por José Luis Bautista Martin, el 6 de enero
|
10
|
+
del 2016.
|
11
|
+
|
12
|
+
Puede modificar y distribuir este software, según le plazca, y usarlo
|
13
|
+
para cualquier fin ya sea comercial, personal, educativo, o de cualquier
|
14
|
+
índole, siempre y cuando incluya este mensaje, y se permita acceso el
|
15
|
+
código fuente.
|
16
|
+
|
17
|
+
Este software es código libre, y se licencia bajo LGPL.
|
18
|
+
|
19
|
+
Para más información consultar http://www.gnu.org/licenses/lgpl.html
|
20
|
+
=end
|
21
|
+
|
22
|
+
|
23
|
+
require 'active_support/core_ext/object/blank'
|
24
|
+
require 'uuidtools'
|
25
|
+
|
26
|
+
|
27
|
+
require_relative '../../../Mixins/main_form_mixin'
|
28
|
+
require_relative '../../../Mixins/splash_mixin'
|
29
|
+
require_relative '../../../gaspar'
|
30
|
+
|
31
|
+
module CapicuaGen::Gaspar
|
32
|
+
|
33
|
+
# Caracteristica generadora para proyectos Windows de CS.
|
34
|
+
class CSProyectFeature < CapicuaGen::TemplateFeature
|
35
|
+
include CapicuaGen
|
36
|
+
include CapicuaGen::Gaspar
|
37
|
+
|
38
|
+
public
|
39
|
+
|
40
|
+
# Inicializa la caracteristica
|
41
|
+
def initialize(values= {})
|
42
|
+
super(values)
|
43
|
+
|
44
|
+
end
|
45
|
+
|
46
|
+
# Resetea los atributos personalizados de la caracteristica (antes de establecer el generador)
|
47
|
+
def reset_attributes
|
48
|
+
self.generation_attributes[:out_dir] = nil
|
49
|
+
self.generation_attributes[:namespace]= nil
|
50
|
+
end
|
51
|
+
|
52
|
+
# Configura los atributos personalizados de la caracteristica (antes de establecer el generador)
|
53
|
+
def configure_attributes()
|
54
|
+
self.generation_attributes[:out_dir]= "#{self.generation_attributes[:out_dir]}/#{self.generation_attributes[:namespace]}" unless self.generation_attributes.has_in_self?(:out)
|
55
|
+
end
|
56
|
+
|
57
|
+
# Obtiene los archivos que se incluiran en este proyeto
|
58
|
+
def get_proyect_files()
|
59
|
+
resultado= ''
|
60
|
+
|
61
|
+
template_target= get_template_target_by_name('proyect')
|
62
|
+
|
63
|
+
directory_base= File.dirname(File.join(self.generation_attributes[:out_dir], template_target.out_file))
|
64
|
+
|
65
|
+
# Recorro todas las caracteristicas
|
66
|
+
generator.features().each do |f|
|
67
|
+
#Obtengo todos los archivos asociados
|
68
|
+
f.get_relative_out_files(:directory_base => directory_base, :types => :proyect_file).each do |unix_path|
|
69
|
+
|
70
|
+
p = unix_path.gsub /\//, '\\'
|
71
|
+
extension= File.extname(p).downcase
|
72
|
+
file_type= :proyect_file
|
73
|
+
Dir.chdir directory_base do
|
74
|
+
file_type= get_type(p)
|
75
|
+
end
|
76
|
+
|
77
|
+
|
78
|
+
case extension
|
79
|
+
when '.cs'
|
80
|
+
|
81
|
+
case file_type
|
82
|
+
when :proyect_file
|
83
|
+
if p=~ /(?:.+\\)?(.+)\.Designer.cs/i
|
84
|
+
resultado << " <Compile Include= \"#{p}\" >" << $/
|
85
|
+
resultado << " <DependentUpon>#{$1}.cs</DependentUpon>" << $/
|
86
|
+
resultado << " </Compile>" << $/
|
87
|
+
elsif p=~ /(?:.+\\)?(.+)\.svc\.cs/i
|
88
|
+
resultado << " <Compile Include= \"#{p}\" >" << $/
|
89
|
+
resultado << " <DependentUpon>#{$1}.svc</DependentUpon>" << $/
|
90
|
+
resultado << " </Compile>" << $/
|
91
|
+
else
|
92
|
+
resultado << " <Compile Include= \"#{p}\" />" << $/
|
93
|
+
end
|
94
|
+
when :form_proyect_file
|
95
|
+
resultado << " <Compile Include= \"#{p}\" >" << $/
|
96
|
+
resultado << " <SubType>Form</SubType>" << $/
|
97
|
+
resultado << " </Compile>" << $/
|
98
|
+
end
|
99
|
+
|
100
|
+
when '.resx'
|
101
|
+
if p=~ /(?:.+\\)?(.+)\.resx/i
|
102
|
+
resultado << " <EmbeddedResource Include= \"#{p}\" >" << $/
|
103
|
+
resultado << " <DependentUpon>#{$1}.cs</DependentUpon>" << $/
|
104
|
+
resultado << " </EmbeddedResource>" << $/
|
105
|
+
end
|
106
|
+
when '.config', '.svc'
|
107
|
+
resultado << " <Content Include= \"#{p}\" />" << $/
|
108
|
+
else
|
109
|
+
resultado << " <Compile Include= \"#{p}\" />" << $/
|
110
|
+
end
|
111
|
+
end
|
112
|
+
end
|
113
|
+
|
114
|
+
return resultado
|
115
|
+
end
|
116
|
+
|
117
|
+
# Devuelve el tipo de archivo de un elemento.
|
118
|
+
def get_type(file)
|
119
|
+
|
120
|
+
return :proyect_file unless file=~/.cs$/
|
121
|
+
|
122
|
+
# Compruebo si es un archivo de Windows
|
123
|
+
designed= file.sub(/\.cs$/, ".designer.cs")
|
124
|
+
|
125
|
+
return :proyect_file if file==designed
|
126
|
+
return :proyect_file if not File.exist?(designed)
|
127
|
+
|
128
|
+
text= File.open(designed).read
|
129
|
+
|
130
|
+
if text=~/:\s*(Form|System.Windows.Form)/
|
131
|
+
return :form_proyect_file
|
132
|
+
else
|
133
|
+
return :proyect_file
|
134
|
+
end
|
135
|
+
|
136
|
+
end
|
137
|
+
|
138
|
+
|
139
|
+
end
|
140
|
+
end
|