CapicuaGenGaspar 0.0.2

Sign up to get free protection for your applications and to get access to all the features.
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