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,51 @@
|
|
1
|
+
<%
|
2
|
+
#encoding: UTF-8
|
3
|
+
|
4
|
+
=begin
|
5
|
+
|
6
|
+
CapicuaGen
|
7
|
+
|
8
|
+
CapicuaGen es un software que ayuda a la creación automática de
|
9
|
+
sistemas empresariales a través de la definición y ensamblado de
|
10
|
+
diversos generadores de características.
|
11
|
+
|
12
|
+
El proyecto fue iniciado por José Luis Bautista Martin, el 6 de enero
|
13
|
+
del 2016.
|
14
|
+
|
15
|
+
Puede modificar y distribuir este software, según le plazca, y usarlo
|
16
|
+
para cualquier fin ya sea comercial, personal, educativo, o de cualquier
|
17
|
+
índole, siempre y cuando incluya este mensaje, y se permita acceso el
|
18
|
+
código fuente.
|
19
|
+
|
20
|
+
Este software es código libre, y se licencia bajo LGPL.
|
21
|
+
|
22
|
+
Para más información consultar http://www.gnu.org/licenses/lgpl.html
|
23
|
+
=end
|
24
|
+
%>using System;
|
25
|
+
using System.Configuration;
|
26
|
+
using System.Data;
|
27
|
+
using System.Data.Common;
|
28
|
+
using System.Text;
|
29
|
+
using System.Collections.Generic;
|
30
|
+
<%=get_namespaces_text(:business_interfaces) %>
|
31
|
+
|
32
|
+
namespace <%=generation_attributes[:namespace]%>
|
33
|
+
{
|
34
|
+
|
35
|
+
/// <summary>
|
36
|
+
/// Entidad de <%=template_target.class_name%>
|
37
|
+
/// </summary>
|
38
|
+
<%="#{template_target.class_accessor} "%>partial class <%=template_target.class_name%> : I<%=template_target.class_name%>
|
39
|
+
{
|
40
|
+
<%template_target.entity_schema.fields.each { |field| %>
|
41
|
+
/// <summary>
|
42
|
+
/// Nombre: <%=field.name%>
|
43
|
+
/// Tipo: <%=field.type%>
|
44
|
+
/// Permite Nulos: <%=field.allow_null%>
|
45
|
+
/// Valor por Defecto: <%=field.default_value%>
|
46
|
+
/// Llave Primaria: <%=field.primary_key%>
|
47
|
+
/// </summary>
|
48
|
+
public <%=field.net_type%> <%=field.name%> { get; set; }
|
49
|
+
<%}%>
|
50
|
+
}
|
51
|
+
}
|
@@ -0,0 +1,148 @@
|
|
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
|
+
require 'active_support/core_ext/object/blank'
|
23
|
+
|
24
|
+
|
25
|
+
require_relative '../../../gaspar'
|
26
|
+
require_relative '../../../Mixins/cs_db_connection_provider_mixin'
|
27
|
+
require_relative '../../../Mixins/cs_namespace_mixin'
|
28
|
+
require_relative '../../../Mixins/entity_interface_mixin'
|
29
|
+
require_relative '../../../Mixins/entity_sql_table_mixin'
|
30
|
+
|
31
|
+
module CapicuaGen::Gaspar
|
32
|
+
|
33
|
+
# Caracteristica generadora de caceberas y pies de pagina
|
34
|
+
# en el codigo fuente generado por otras caracteristicas
|
35
|
+
class CSHeaderFooterFeature < CapicuaGen::TemplateFeature
|
36
|
+
include CapicuaGen
|
37
|
+
include CapicuaGen::Gaspar
|
38
|
+
|
39
|
+
attr_accessor :include_regex, :exclude_regex
|
40
|
+
|
41
|
+
public
|
42
|
+
|
43
|
+
# Inicializa la caracteristica
|
44
|
+
def initialize(values= {})
|
45
|
+
super(values)
|
46
|
+
|
47
|
+
# Configuro los tipos si estos no han sido configurados previamente
|
48
|
+
self.types= [:code_transformer] if self.types.blank?
|
49
|
+
|
50
|
+
# Configuro los templates
|
51
|
+
set_template("header", Template.new(:file => 'header.erb'))
|
52
|
+
set_template("footer", Template.new(:file => 'footer.erb'))
|
53
|
+
|
54
|
+
#Configuro los include y exclude
|
55
|
+
@include_regex= [/\.cs$/i] unless @include_regex
|
56
|
+
@exclude_regex= [/\.Designer\.cs$/i] unless @exclude_regex
|
57
|
+
|
58
|
+
|
59
|
+
end
|
60
|
+
|
61
|
+
# Configura los objetivos de las platillas (despues de establecer el generador)
|
62
|
+
def configure_template_targets
|
63
|
+
|
64
|
+
# Configuro los templates
|
65
|
+
@header_template_target= set_template_target('header', TemplateTarget.new())
|
66
|
+
@footer_template_target= set_template_target('footer', TemplateTarget.new())
|
67
|
+
|
68
|
+
end
|
69
|
+
|
70
|
+
# Recorre las plantilla y genera las cabeceras
|
71
|
+
def generate
|
72
|
+
message_helper.puts_generating_feature(self)
|
73
|
+
|
74
|
+
message_helper.add_indent
|
75
|
+
|
76
|
+
begin
|
77
|
+
|
78
|
+
|
79
|
+
resultado= ''
|
80
|
+
|
81
|
+
template_target= get_template_target_by_name('proyect')
|
82
|
+
|
83
|
+
directory_base= self.generation_attributes[:out_dir]
|
84
|
+
# Recorro todas las caracteristicas
|
85
|
+
generator.features().each do |feature|
|
86
|
+
#Obtengo todos los archivos asociados
|
87
|
+
feature.get_relative_out_files(:directory_base => directory_base, :types => :proyect_file).each do |unix_path|
|
88
|
+
|
89
|
+
# Nombre del archivo
|
90
|
+
file = unix_path.gsub(/\//, '\\')
|
91
|
+
file_name= File.basename file
|
92
|
+
|
93
|
+
next unless check_include(file)
|
94
|
+
|
95
|
+
file_content= ''
|
96
|
+
|
97
|
+
Dir.chdir directory_base do
|
98
|
+
# Cargo el acrhivo
|
99
|
+
file_content= File.read(file)
|
100
|
+
end
|
101
|
+
|
102
|
+
|
103
|
+
# Genero los las licencias
|
104
|
+
header= generate_template_target(@header_template_target, binding)
|
105
|
+
return if not header.blank? and file_content.include?(header)
|
106
|
+
footer= generate_template_target(@footer_template_target, binding)
|
107
|
+
return if not footer.blank? and file_content.include?(footer)
|
108
|
+
|
109
|
+
file_out= "#{header}#{file_content}#{footer}"
|
110
|
+
Dir.chdir directory_base do
|
111
|
+
# Guardo el archivo
|
112
|
+
File.write(file, file_out)
|
113
|
+
message_helper.puts_created_template("header.erb, footer.erb", file, :override)
|
114
|
+
end
|
115
|
+
end
|
116
|
+
|
117
|
+
end
|
118
|
+
|
119
|
+
ensure
|
120
|
+
message_helper.remove_indent
|
121
|
+
puts
|
122
|
+
|
123
|
+
end
|
124
|
+
|
125
|
+
end
|
126
|
+
|
127
|
+
# Revisa si un archivo debe ser incluido
|
128
|
+
def check_include(file)
|
129
|
+
return false if @include_regex.blank?
|
130
|
+
|
131
|
+
@include_regex.each do |include|
|
132
|
+
return false unless include.match(file)
|
133
|
+
end
|
134
|
+
|
135
|
+
return true if @exclude_regex.blank?
|
136
|
+
|
137
|
+
@exclude_regex.each do |exclude|
|
138
|
+
return false if exclude.match(file)
|
139
|
+
end
|
140
|
+
|
141
|
+
return true
|
142
|
+
|
143
|
+
end
|
144
|
+
end
|
145
|
+
|
146
|
+
end
|
147
|
+
|
148
|
+
|
@@ -0,0 +1,37 @@
|
|
1
|
+
<%
|
2
|
+
#encoding: UTF-8
|
3
|
+
|
4
|
+
=begin
|
5
|
+
|
6
|
+
CapicuaGen
|
7
|
+
|
8
|
+
CapicuaGen es un software que ayuda a la creación automática de
|
9
|
+
sistemas empresariales a través de la definición y ensamblado de
|
10
|
+
diversos generadores de características.
|
11
|
+
|
12
|
+
El proyecto fue iniciado por José Luis Bautista Martin, el 6 de enero
|
13
|
+
del 2016.
|
14
|
+
|
15
|
+
Puede modificar y distribuir este software, según le plazca, y usarlo
|
16
|
+
para cualquier fin ya sea comercial, personal, educativo, o de cualquier
|
17
|
+
índole, siempre y cuando incluya este mensaje, y se permita acceso el
|
18
|
+
código fuente.
|
19
|
+
|
20
|
+
Este software es código libre, y se licencia bajo LGPL.
|
21
|
+
|
22
|
+
Para más información consultar http://www.gnu.org/licenses/lgpl.html
|
23
|
+
=end
|
24
|
+
%>
|
25
|
+
|
26
|
+
/*
|
27
|
+
* -------------------------------------------------------------------------
|
28
|
+
* Archivo <%=file_name%>
|
29
|
+
* -------------------------------------------------------------------------
|
30
|
+
* Generado automaticamente con CapicuaGen,
|
31
|
+
*
|
32
|
+
* Puede cambiar este pie de pagina haciendo un checkout de los templates de
|
33
|
+
* la caracteristica, y modificando el template 'footer.erb'.
|
34
|
+
*
|
35
|
+
* capicuagen.rb checkout CapicuaGenGaspar/CSHeaderFooter/template
|
36
|
+
*
|
37
|
+
*/
|
@@ -0,0 +1,43 @@
|
|
1
|
+
<%
|
2
|
+
#encoding: UTF-8
|
3
|
+
|
4
|
+
=begin
|
5
|
+
|
6
|
+
CapicuaGen
|
7
|
+
|
8
|
+
CapicuaGen es un software que ayuda a la creación automática de
|
9
|
+
sistemas empresariales a través de la definición y ensamblado de
|
10
|
+
diversos generadores de características.
|
11
|
+
|
12
|
+
El proyecto fue iniciado por José Luis Bautista Martin, el 6 de enero
|
13
|
+
del 2016.
|
14
|
+
|
15
|
+
Puede modificar y distribuir este software, según le plazca, y usarlo
|
16
|
+
para cualquier fin ya sea comercial, personal, educativo, o de cualquier
|
17
|
+
índole, siempre y cuando incluya este mensaje, y se permita acceso el
|
18
|
+
código fuente.
|
19
|
+
|
20
|
+
Este software es código libre, y se licencia bajo LGPL.
|
21
|
+
|
22
|
+
Para más información consultar http://www.gnu.org/licenses/lgpl.html
|
23
|
+
=end
|
24
|
+
%>/*
|
25
|
+
* -------------------------------------------------------------------------
|
26
|
+
* Archivo <%=file_name%>
|
27
|
+
* -------------------------------------------------------------------------
|
28
|
+
* Generado automaticamente con CapicuaGen,
|
29
|
+
*
|
30
|
+
* CapicuaGen es un software que ayuda a la creación automática de
|
31
|
+
* sistemas empresariales a través de la definición y ensamblado de
|
32
|
+
* diversos generadores de características.
|
33
|
+
*
|
34
|
+
* El proyecto fue iniciado por José Luis Bautista Martin, el 6 de enero
|
35
|
+
* del 2016.
|
36
|
+
*
|
37
|
+
* Puede cambiar este encabezado haciendo un checkout de los templates de
|
38
|
+
* la caracteristica, y modificando el template 'header.erb'.
|
39
|
+
*
|
40
|
+
* capicuagen.rb checkout CapicuaGenGaspar/CSHeaderFooter/template
|
41
|
+
*
|
42
|
+
*/
|
43
|
+
|
Binary file
|
Binary file
|
@@ -0,0 +1,52 @@
|
|
1
|
+
<?xml version="1.0" encoding="utf-8" ?>
|
2
|
+
<!--
|
3
|
+
/*
|
4
|
+
* RunCodeMaidCleaner
|
5
|
+
*
|
6
|
+
* RunCodeMaidCleaner es un software que permite ejecutar la opción "Cleanup"
|
7
|
+
* de la extesión de Visual Studio "CodeMaid", desde la linea de comandos
|
8
|
+
* con lo que es posible ejecutarlo dentro de procesos bath de generación de
|
9
|
+
* codigo.
|
10
|
+
*
|
11
|
+
* El proyecto fue iniciado por José Luis Bautista Martin, el 6 de enero
|
12
|
+
* del 2016.
|
13
|
+
*
|
14
|
+
* Puede modificar y distribuir este software, según le plazca, y usarlo
|
15
|
+
* para cualquier fin ya sea comercial, personal, educativo, o de cualquier
|
16
|
+
* índole, siempre y cuando incluya este mensaje, y se permita acceso el
|
17
|
+
* código fuente.
|
18
|
+
*
|
19
|
+
* Este software es código libre, y se licencia bajo LGPL.
|
20
|
+
*
|
21
|
+
* Para más información consultar http://www.gnu.org/licenses/lgpl.html
|
22
|
+
*/
|
23
|
+
-->
|
24
|
+
<configuration>
|
25
|
+
<configSections>
|
26
|
+
<sectionGroup name="applicationSettings" type="System.Configuration.ApplicationSettingsGroup, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
27
|
+
<section name="RunCodeMaidCleaner.Properties.Settings" type="System.Configuration.ClientSettingsSection, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false" />
|
28
|
+
</sectionGroup>
|
29
|
+
</configSections>
|
30
|
+
<startup>
|
31
|
+
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0.3" />
|
32
|
+
</startup>
|
33
|
+
<applicationSettings>
|
34
|
+
<RunCodeMaidCleaner.Properties.Settings>
|
35
|
+
<setting name="VisualStudio" serializeAs="String">
|
36
|
+
<value>VisualStudio.Solution.12.0</value>
|
37
|
+
</setting>
|
38
|
+
<setting name="GuidCodeMaidCommandCleanupActiveCodeString" serializeAs="String">
|
39
|
+
<value>36de540f-25cb-4151-957f-d63a5a3a10a7</value>
|
40
|
+
</setting>
|
41
|
+
<setting name="CmdIDCodeMaidCleanupActiveCode" serializeAs="String">
|
42
|
+
<value>4608</value>
|
43
|
+
</setting>
|
44
|
+
<setting name="GuidCodeMaidCommandCleanupAllCodeString" serializeAs="String">
|
45
|
+
<value>eb2efdb6-2efe-405c-94af-383d36ad58dd</value>
|
46
|
+
</setting>
|
47
|
+
<setting name="CmdIDCodeMaidCleanupAllCode" serializeAs="String">
|
48
|
+
<value>4864</value>
|
49
|
+
</setting>
|
50
|
+
</RunCodeMaidCleaner.Properties.Settings>
|
51
|
+
</applicationSettings>
|
52
|
+
</configuration>
|
Binary file
|
@@ -0,0 +1,162 @@
|
|
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 clase se comunica con la extensiòn CodeMaid de Visual Stuido,
|
25
|
+
para formatear y limpiar la salida del codigo fuente
|
26
|
+
para mas informaciòn visistar la pagina del producto
|
27
|
+
|
28
|
+
http://www.codemaid.net/
|
29
|
+
|
30
|
+
=end
|
31
|
+
|
32
|
+
require 'nokogiri'
|
33
|
+
require 'tempfile'
|
34
|
+
|
35
|
+
require_relative '../../../gaspar'
|
36
|
+
require 'active_support/core_ext/object/blank'
|
37
|
+
require_relative '../../../Mixins/cs_app_config_mixin'
|
38
|
+
|
39
|
+
|
40
|
+
module CapicuaGen::Gaspar
|
41
|
+
# Caracteristica generadora para limpiar y formatear el codigo generado
|
42
|
+
# a traves de la herramienta CodeMaid (Extesion de Visual Studio)
|
43
|
+
class CodeMaidCleanerFeature < CapicuaGen::Feature
|
44
|
+
include CapicuaGen
|
45
|
+
include CapicuaGen::Gaspar
|
46
|
+
|
47
|
+
attr_accessor :bin_directories, :target_feature_types
|
48
|
+
|
49
|
+
BINARY= "RunCodeMaidCleaner.exe"
|
50
|
+
|
51
|
+
public
|
52
|
+
|
53
|
+
# Inicializa la caracteristica
|
54
|
+
def initialize(values= {})
|
55
|
+
super(values)
|
56
|
+
|
57
|
+
|
58
|
+
# Configuro los tipos si estos no han sido configurados previamente
|
59
|
+
self.types = [:transformer] if self.types.blank?
|
60
|
+
|
61
|
+
@target_feature_types= [:soluction] if @target_feature_types.blank?
|
62
|
+
|
63
|
+
|
64
|
+
@bin_directories = [] if self.bin_directories.blank?
|
65
|
+
@bin_directories << File.join(File.dirname(__FILE__), '../bin')
|
66
|
+
|
67
|
+
|
68
|
+
end
|
69
|
+
|
70
|
+
|
71
|
+
# Genera las cabeceras y pie de paginas
|
72
|
+
def generate
|
73
|
+
super()
|
74
|
+
|
75
|
+
|
76
|
+
message_helper.add_indent
|
77
|
+
|
78
|
+
begin
|
79
|
+
|
80
|
+
directory_base= self.generation_attributes[:out_dir]
|
81
|
+
binary_file = find_binary
|
82
|
+
parameters = ' /mo'
|
83
|
+
files = []
|
84
|
+
|
85
|
+
|
86
|
+
# Recorro todas las caracteristicas
|
87
|
+
generator.features.each do |feature|
|
88
|
+
|
89
|
+
return unless feature.respond_to?('get_relative_out_files')
|
90
|
+
|
91
|
+
#Obtengo todos los archivos asociados
|
92
|
+
feature.get_relative_out_files(:directory_base => directory_base).each do |unix_path|
|
93
|
+
|
94
|
+
file= unix_path.gsub(/\//, '\\')
|
95
|
+
Dir.chdir directory_base do
|
96
|
+
file= File.absolute_path(file)
|
97
|
+
end
|
98
|
+
extension= File.extname(file).downcase
|
99
|
+
|
100
|
+
case extension
|
101
|
+
when '.sln'
|
102
|
+
parameters<<" /s \"#{file}\""
|
103
|
+
when '.csproj'
|
104
|
+
parameters<<" /p \"#{file}\"" if @target_feature_types.include?(:proyect)
|
105
|
+
else
|
106
|
+
|
107
|
+
Dir.chdir directory_base do
|
108
|
+
#Compruebo si debe ser includo
|
109
|
+
stat=File::Stat.new(unix_path)
|
110
|
+
if (stat.mtime > self.generator.start_time)
|
111
|
+
file= File.basename(unix_path)
|
112
|
+
files<<file
|
113
|
+
end
|
114
|
+
end
|
115
|
+
end
|
116
|
+
|
117
|
+
end
|
118
|
+
end
|
119
|
+
|
120
|
+
Dir.chdir directory_base do
|
121
|
+
#Guardo el archivo de directorio
|
122
|
+
file= Tempfile.new('files')
|
123
|
+
|
124
|
+
begin
|
125
|
+
file.write(files.join($/))
|
126
|
+
file.close
|
127
|
+
file_path= file.path.gsub /\//, '\\'
|
128
|
+
|
129
|
+
parameters<<" /f #{file_path}"
|
130
|
+
|
131
|
+
#Ejecuto el programa
|
132
|
+
IO.popen("\"#{binary_file}\" #{parameters}").each do |line|
|
133
|
+
message_helper.puts_code_clean(line.chomp)
|
134
|
+
end
|
135
|
+
|
136
|
+
|
137
|
+
ensure
|
138
|
+
file.close
|
139
|
+
file.unlink # deletes the temp file
|
140
|
+
end
|
141
|
+
|
142
|
+
|
143
|
+
end
|
144
|
+
ensure
|
145
|
+
message_helper.remove_indent
|
146
|
+
puts
|
147
|
+
end
|
148
|
+
|
149
|
+
end
|
150
|
+
|
151
|
+
def find_binary
|
152
|
+
bin_directories.each do |bin|
|
153
|
+
current_path= File.join(bin, BINARY)
|
154
|
+
return current_path if File.exist?(current_path)
|
155
|
+
end
|
156
|
+
|
157
|
+
end
|
158
|
+
end
|
159
|
+
end
|
160
|
+
|
161
|
+
|
162
|
+
|
@@ -0,0 +1,90 @@
|
|
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 'nokogiri'
|
25
|
+
|
26
|
+
require_relative '../../../gaspar'
|
27
|
+
require_relative '../../../Mixins/cs_app_config_mixin'
|
28
|
+
|
29
|
+
module CapicuaGen::Gaspar
|
30
|
+
# Caracteristica generadora que devuelve un metodo
|
31
|
+
# para configurar una cadena de conexion dentro del codigo generado
|
32
|
+
class CSDBConnectionProviderFeature < CapicuaGen::Feature
|
33
|
+
include CapicuaGen
|
34
|
+
include CapicuaGen::Gaspar
|
35
|
+
|
36
|
+
|
37
|
+
public
|
38
|
+
|
39
|
+
# Inicializa la caracteristica
|
40
|
+
def initialize(values= {})
|
41
|
+
super(values)
|
42
|
+
|
43
|
+
# Configuro los tipos si estos no han sido configurados previamente
|
44
|
+
self.types= [:data_connection_provider, :transformer] if self.types.blank?
|
45
|
+
|
46
|
+
end
|
47
|
+
|
48
|
+
|
49
|
+
# Devuelve el metodo que genera el proveedor de conexion
|
50
|
+
def get_db_connection_provider_method
|
51
|
+
return "DbProviderFactories.GetFactory(ConfigurationManager.ConnectionStrings[\"#{generation_attributes[:app_config_db_connection_name]}\"].ProviderName)"
|
52
|
+
end
|
53
|
+
|
54
|
+
def get_db_connection_name_method
|
55
|
+
return "\"#{generation_attributes[:app_config_db_connection_name]}\""
|
56
|
+
end
|
57
|
+
|
58
|
+
# Devuelve la cadena de conexión
|
59
|
+
def get_db_connection_string_method
|
60
|
+
return "ConfigurationManager.ConnectionStrings[\"#{generation_attributes[:app_config_db_connection_name]}\"].ConnectionString"
|
61
|
+
end
|
62
|
+
|
63
|
+
# Modifica el archivo App.Config para que contenga la cadena de conexión a la base de datos
|
64
|
+
def generate
|
65
|
+
|
66
|
+
# Ruta para conseguir el archivo app.config
|
67
|
+
xml= Nokogiri::XML(File.read(get_app_config_file))
|
68
|
+
xpath= "connectionStrings/add[@name= '#{generation_attributes[:app_config_db_connection_name]}']"
|
69
|
+
|
70
|
+
# Recupero el nodo
|
71
|
+
node= XMLHelper.get_node_from_xml_document(xml, xpath)
|
72
|
+
|
73
|
+
# Configuro el nodo
|
74
|
+
node['name']= generation_attributes[:app_config_db_connection_name]
|
75
|
+
node['connectionString']= generation_attributes[:app_config_db_connection_string]
|
76
|
+
node['providerName']= generation_attributes[:app_config_db_connection_provider]
|
77
|
+
|
78
|
+
# Formateo el texto
|
79
|
+
formatted_xml= XMLHelper.format(xml.to_xml)
|
80
|
+
|
81
|
+
# Guardo el resultado
|
82
|
+
File.write(get_app_config_file,formatted_xml)
|
83
|
+
|
84
|
+
end
|
85
|
+
|
86
|
+
end
|
87
|
+
end
|
88
|
+
|
89
|
+
|
90
|
+
|