class CapicuaGen::Gaspar::CSSqlDataAccessFeature

Característica generadora para la capa de persistencia en case a las entidades obtenidas en un archivo .SQL

Public Class Methods

new(values= {}) click to toggle source

Inicializa la característica

Calls superclass method
# File lib/CapicuaGenGaspar/DataAccess/CSSqlDataAccess/Source/cs_sql_data_access_feature.rb, line 44
def initialize(values= {})
  super(values)

  # Configuro los tipos si estos no han sido configurados previamente
  self.types= [:data_access] if self.types.blank?

  # Configuro los templates
  set_template("data_access_exception", Template.new(:file => 'data_access_exception.erb'))
  set_template("data_access", Template.new(:file => 'data_access.erb'))
  set_template("data_access_table", Template.new(:file => 'data_access_table.erb'))


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/DataAccess/CSSqlDataAccess/Source/cs_sql_data_access_feature.rb, line 87
def configure_attributes()
  self.generation_attributes[:out_dir]  = "#{self.generation_attributes[:out_dir]}/#{self.generation_attributes[:namespace]}/Data.Access" unless self.generation_attributes.has_in_self?(:out_dir)
  self.generation_attributes[:namespace]= "#{self.generation_attributes[:namespace]}.Data.Access" unless self.generation_attributes.has_in_self?(:namespace)
end
configure_template_targets() click to toggle source

Configura los objetivos de las platillas (despues de establecer el generador)

# File lib/CapicuaGenGaspar/DataAccess/CSSqlDataAccess/Source/cs_sql_data_access_feature.rb, line 59
def configure_template_targets

  # Configuro los templates
  set_template_target('data_access_exception', TemplateTarget.new(:out_file => "DataAccessException.cs", :types => :proyect_file, :class_name => 'DataAccessException'))
  set_template_target('data_access', TemplateTarget.new(:out_file => "DataAccess.cs", :types => :proyect_file, :class_name => 'DataAccess'))

  # Busco  las características que contiene entidades de SQL para una table
  get_tables do |e|
    set_template_target("data_access_table/#{get_entity_data_access_name(e.name)}",
                        TemplateTarget.new(
                            :out_file      => "#{get_entity_data_access_name(e.name)}.cs",
                            :types         => :proyect_file,
                            :class_name    => get_entity_data_access_name(e.name),
                            :entity_schema => e,
                        )
    )

  end

end
get_entity_data_access_full_name(entity_name) click to toggle source

Obtiene el nombre completo de la clase de persistencia asociada a una entidad

# File lib/CapicuaGenGaspar/DataAccess/CSSqlDataAccess/Source/cs_sql_data_access_feature.rb, line 99
def get_entity_data_access_full_name(entity_name)
  return "#{self.generation_attributes[:namespace]}.#{get_entity_data_access_name(entity_name)}"
end
get_entity_data_access_name(entity_name) click to toggle source

Obtiene el nombre de la clase de persistencia asociada a una entidad

# File lib/CapicuaGenGaspar/DataAccess/CSSqlDataAccess/Source/cs_sql_data_access_feature.rb, line 94
def get_entity_data_access_name(entity_name)
  return "#{entity_name}DataAccess"
end
reset_attributes() click to toggle source

Resetea los atributos personalizados de la característica (antes de establecer el generador)

# File lib/CapicuaGenGaspar/DataAccess/CSSqlDataAccess/Source/cs_sql_data_access_feature.rb, line 81
def reset_attributes
  self.generation_attributes[:out_dir]  = nil
  self.generation_attributes[:namespace]= nil
end