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.
Files changed (84) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +11 -0
  3. data/.rspec +2 -0
  4. data/.travis.yml +4 -0
  5. data/CODE_OF_CONDUCT.md +49 -0
  6. data/CapicuaGenGaspar.gemspec +60 -0
  7. data/Gemfile +4 -0
  8. data/Gemfile.lock +33 -0
  9. data/LICENSE +165 -0
  10. data/README.md +41 -0
  11. data/Rakefile +6 -0
  12. data/bin/console +14 -0
  13. data/bin/setup +8 -0
  14. data/lib/CapicuaGenGaspar/Business/CSSqlEntitityInterface/Source/cs_sql_entity_interface_feature.rb +96 -0
  15. data/lib/CapicuaGenGaspar/Business/CSSqlEntitityInterface/Template/table_interface.erb +49 -0
  16. data/lib/CapicuaGenGaspar/Business/CSSqlEntity/Source/cs_sql_entity_feature.rb +103 -0
  17. data/lib/CapicuaGenGaspar/Business/CSSqlEntity/Template/table_entity.erb +51 -0
  18. data/lib/CapicuaGenGaspar/CodeTransformer/CSHeaderFooter/Source/cs_header_footer_feature.rb +148 -0
  19. data/lib/CapicuaGenGaspar/CodeTransformer/CSHeaderFooter/Template/footer.erb +37 -0
  20. data/lib/CapicuaGenGaspar/CodeTransformer/CSHeaderFooter/Template/header.erb +43 -0
  21. data/lib/CapicuaGenGaspar/CodeTransformer/CodeMaidCleaner/Bin/EnvDTE.dll +0 -0
  22. data/lib/CapicuaGenGaspar/CodeTransformer/CodeMaidCleaner/Bin/EnvDTE80.dll +0 -0
  23. data/lib/CapicuaGenGaspar/CodeTransformer/CodeMaidCleaner/Bin/RunCodeMaidCleaner.exe +0 -0
  24. data/lib/CapicuaGenGaspar/CodeTransformer/CodeMaidCleaner/Bin/RunCodeMaidCleaner.exe.config +52 -0
  25. data/lib/CapicuaGenGaspar/CodeTransformer/CodeMaidCleaner/Bin/stdole.dll +0 -0
  26. data/lib/CapicuaGenGaspar/CodeTransformer/CodeMaidCleaner/Source/code_maid_cleaner_feature.rb +162 -0
  27. data/lib/CapicuaGenGaspar/DataAccess/CSConnectionProvider/Source/cs_db_connection_provider_feature.rb +90 -0
  28. data/lib/CapicuaGenGaspar/DataAccess/CSSqlDataAccess/Source/cs_sql_data_access_feature.rb +106 -0
  29. data/lib/CapicuaGenGaspar/DataAccess/CSSqlDataAccess/Template/data_access.erb +154 -0
  30. data/lib/CapicuaGenGaspar/DataAccess/CSSqlDataAccess/Template/data_access_exception.erb +36 -0
  31. data/lib/CapicuaGenGaspar/DataAccess/CSSqlDataAccess/Template/data_access_table.erb +298 -0
  32. data/lib/CapicuaGenGaspar/Entities/CSEntity/Source/entity_field_schema.rb +100 -0
  33. data/lib/CapicuaGenGaspar/GUI/CSAboutWindowsForm/Source/cs_about_windows_form_feature.rb +85 -0
  34. data/lib/CapicuaGenGaspar/GUI/CSAboutWindowsForm/Template/AboutForm.designer.erb +211 -0
  35. data/lib/CapicuaGenGaspar/GUI/CSAboutWindowsForm/Template/AboutForm.erb +127 -0
  36. data/lib/CapicuaGenGaspar/GUI/CSAboutWindowsForm/Template/AboutForm.resx.erb +535 -0
  37. data/lib/CapicuaGenGaspar/GUI/CSCatalogWindowsForm/Source/cs_catalog_windows_form_feature.rb +146 -0
  38. data/lib/CapicuaGenGaspar/GUI/CSCatalogWindowsForm/Template/CatalogForm.Designer.erb +363 -0
  39. data/lib/CapicuaGenGaspar/GUI/CSCatalogWindowsForm/Template/CatalogForm.erb +320 -0
  40. data/lib/CapicuaGenGaspar/GUI/CSCatalogWindowsForm/Template/CatalogForm.resx.erb +2407 -0
  41. data/lib/CapicuaGenGaspar/GUI/CSCatalogWindowsForm/Template/CatalogState.erb +51 -0
  42. data/lib/CapicuaGenGaspar/GUI/CSMDIWindowsForm/Source/cs_mdi_windows_form_feature.rb +93 -0
  43. data/lib/CapicuaGenGaspar/GUI/CSMDIWindowsForm/Template/MainForm.Designer.erb +316 -0
  44. data/lib/CapicuaGenGaspar/GUI/CSMDIWindowsForm/Template/MainForm.erb +161 -0
  45. data/lib/CapicuaGenGaspar/GUI/CSMDIWindowsForm/Template/MainForm.resx.erb +2504 -0
  46. data/lib/CapicuaGenGaspar/GUI/CSMDIWindowsForm/Template/MsgboxConsts.erb +31 -0
  47. data/lib/CapicuaGenGaspar/GUI/CSSplashWindowsForm/Source/cs_splash_windows_feature.rb +87 -0
  48. data/lib/CapicuaGenGaspar/GUI/CSSplashWindowsForm/Template/SplashForm.designer.erb +141 -0
  49. data/lib/CapicuaGenGaspar/GUI/CSSplashWindowsForm/Template/SplashForm.erb +160 -0
  50. data/lib/CapicuaGenGaspar/GUI/CSSplashWindowsForm/Template/SplashForm.resx.erb +535 -0
  51. data/lib/CapicuaGenGaspar/Mixins/about_mixin.rb +55 -0
  52. data/lib/CapicuaGenGaspar/Mixins/catalog_mixin.rb +65 -0
  53. data/lib/CapicuaGenGaspar/Mixins/cs_app_config_mixin.rb +41 -0
  54. data/lib/CapicuaGenGaspar/Mixins/cs_db_connection_provider_mixin.rb +67 -0
  55. data/lib/CapicuaGenGaspar/Mixins/cs_namespace_mixin.rb +53 -0
  56. data/lib/CapicuaGenGaspar/Mixins/entity_interface_mixin.rb +57 -0
  57. data/lib/CapicuaGenGaspar/Mixins/entity_mixin.rb +58 -0
  58. data/lib/CapicuaGenGaspar/Mixins/entity_sql_table_mixin.rb +58 -0
  59. data/lib/CapicuaGenGaspar/Mixins/main_form_mixin.rb +55 -0
  60. data/lib/CapicuaGenGaspar/Mixins/splash_mixin.rb +54 -0
  61. data/lib/CapicuaGenGaspar/Proyect/CSProyect/Source/cs_proyect_feature.rb +140 -0
  62. data/lib/CapicuaGenGaspar/Proyect/CSProyectRESTFul/Source/cs_proyect_rest_ful_feature.rb +82 -0
  63. data/lib/CapicuaGenGaspar/Proyect/CSProyectRESTFul/Template/AssemblyInfo.erb +59 -0
  64. data/lib/CapicuaGenGaspar/Proyect/CSProyectRESTFul/Template/ExcepcionControlada.erb +38 -0
  65. data/lib/CapicuaGenGaspar/Proyect/CSProyectRESTFul/Template/Proyect.erb +114 -0
  66. data/lib/CapicuaGenGaspar/Proyect/CSProyectRESTFul/Template/Soluction.erb +54 -0
  67. data/lib/CapicuaGenGaspar/Proyect/CSProyectRESTFul/Template/Web.erb +66 -0
  68. data/lib/CapicuaGenGaspar/Proyect/CSProyectWindowsForm/Source/cs_proyect_windows_form_feature.rb +85 -0
  69. data/lib/CapicuaGenGaspar/Proyect/CSProyectWindowsForm/Template/App.erb +32 -0
  70. data/lib/CapicuaGenGaspar/Proyect/CSProyectWindowsForm/Template/AssemblyInfo.erb +59 -0
  71. data/lib/CapicuaGenGaspar/Proyect/CSProyectWindowsForm/Template/ControlExcepciones.erb +49 -0
  72. data/lib/CapicuaGenGaspar/Proyect/CSProyectWindowsForm/Template/ExcepcionControlada.erb +40 -0
  73. data/lib/CapicuaGenGaspar/Proyect/CSProyectWindowsForm/Template/Program.erb +46 -0
  74. data/lib/CapicuaGenGaspar/Proyect/CSProyectWindowsForm/Template/Proyect.erb +138 -0
  75. data/lib/CapicuaGenGaspar/Proyect/CSProyectWindowsForm/Template/Soluction.erb +55 -0
  76. data/lib/CapicuaGenGaspar/Tools/message_helper.rb +43 -0
  77. data/lib/CapicuaGenGaspar/WCFService/CSRESTFulCatalog/Source/cs_rest_ful_catalog_feature.rb +176 -0
  78. data/lib/CapicuaGenGaspar/WCFService/CSRESTFulCatalog/Template/CatalogState.erb +51 -0
  79. data/lib/CapicuaGenGaspar/WCFService/CSRESTFulCatalog/Template/Catalogs.erb +58 -0
  80. data/lib/CapicuaGenGaspar/WCFService/CSRESTFulCatalog/Template/Catalogs.svc.erb +24 -0
  81. data/lib/CapicuaGenGaspar/WCFService/CSRESTFulCatalog/Template/ICatalogs.erb +58 -0
  82. data/lib/CapicuaGenGaspar/gaspar.rb +44 -0
  83. data/lib/CapicuaGenGaspar/version.rb +3 -0
  84. 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