CapicuaGenGaspar 0.0.2
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 +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
|