class CapicuaGen::Gaspar::CSProyectFeature
Característica generadora para proyectos Windows de CS.
Public Class Methods
new(values= {})
click to toggle source
Inicializa la característica
Calls superclass method
# File lib/CapicuaGenGaspar/Proyect/CSProyect/Source/cs_proyect_feature.rb, line 41 def initialize(values= {}) super(values) end
Public Instance Methods
configure_attributes()
click to toggle source
Configura los atributos personalizados de la característica (antes de establecer el generador)
# File lib/CapicuaGenGaspar/Proyect/CSProyect/Source/cs_proyect_feature.rb, line 53 def configure_attributes() self.generation_attributes[:out_dir]= "#{self.generation_attributes[:out_dir]}/#{self.generation_attributes[:namespace]}" unless self.generation_attributes.has_in_self?(:out) end
get_proyect_files()
click to toggle source
Obtiene los archivos que se incluiran en este proyeto
# File lib/CapicuaGenGaspar/Proyect/CSProyect/Source/cs_proyect_feature.rb, line 58 def get_proyect_files() resultado= '' template_target= get_template_target_by_name('proyect') directory_base= File.dirname(File.join(self.generation_attributes[:out_dir], template_target.out_file)) # Recorro todas las características generator.features().each do |f| #Obtengo todos los archivos asociados f.get_relative_out_files(:directory_base => directory_base, :types => :proyect_file).each do |unix_path| p = unix_path.gsub /\//, '\\' extension= File.extname(p).downcase file_type= :proyect_file Dir.chdir directory_base do file_type= get_type(p) end case extension when '.cs' case file_type when :proyect_file if p=~ /(?:.+\\)?(.+)\.Designer.cs/i resultado << " <Compile Include= \"#{p}\" >" << $/ resultado << " <DependentUpon>#{$1}.cs</DependentUpon>" << $/ resultado << " </Compile>" << $/ elsif p=~ /(?:.+\\)?(.+)\.svc\.cs/i resultado << " <Compile Include= \"#{p}\" >" << $/ resultado << " <DependentUpon>#{$1}.svc</DependentUpon>" << $/ resultado << " </Compile>" << $/ else resultado << " <Compile Include= \"#{p}\" />" << $/ end when :form_proyect_file resultado << " <Compile Include= \"#{p}\" >" << $/ resultado << " <SubType>Form</SubType>" << $/ resultado << " </Compile>" << $/ end when '.resx' if p=~ /(?:.+\\)?(.+)\.resx/i resultado << " <EmbeddedResource Include= \"#{p}\" >" << $/ resultado << " <DependentUpon>#{$1}.cs</DependentUpon>" << $/ resultado << " </EmbeddedResource>" << $/ end when '.config', '.svc' resultado << " <Content Include= \"#{p}\" />" << $/ else resultado << " <Compile Include= \"#{p}\" />" << $/ end end end return resultado end
get_type(file)
click to toggle source
Devuelve el tipo de archivo de un elemento.
# File lib/CapicuaGenGaspar/Proyect/CSProyect/Source/cs_proyect_feature.rb, line 118 def get_type(file) return :proyect_file unless file=~/.cs$/ # Compruebo si es un archivo de Windows designed= file.sub(/\.cs$/, ".designer.cs") return :proyect_file if file==designed return :proyect_file if not File.exist?(designed) text= File.open(designed).read if text=~/:\s*(Form|System.Windows.Form)/ return :form_proyect_file else return :proyect_file end end
reset_attributes()
click to toggle source
Resetea los atributos personalizados de la característica (antes de establecer el generador)
# File lib/CapicuaGenGaspar/Proyect/CSProyect/Source/cs_proyect_feature.rb, line 47 def reset_attributes self.generation_attributes[:out_dir] = nil self.generation_attributes[:namespace]= nil end