class CapicuaGen::Gaspar::CSDBConnectionProviderFeature

Característica generadora que devuelve un metodo para configurar una cadena de conexion dentro del código generado

Public Class Methods

new(values= {}) click to toggle source

Inicializa la característica

Calls superclass method
# File lib/CapicuaGenGaspar/DataAccess/CSConnectionProvider/Source/cs_db_connection_provider_feature.rb, line 40
 def initialize(values= {})
   super(values)

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

Public Instance Methods

generate() click to toggle source

Modifica el archivo App.Config para que contenga la cadena de conexión a la base de datos

# File lib/CapicuaGenGaspar/DataAccess/CSConnectionProvider/Source/cs_db_connection_provider_feature.rb, line 64
def generate

  # Ruta para conseguir el archivo app.config
  xml= Nokogiri::XML(File.read(get_app_config_file))
  xpath= "connectionStrings/add[@name= '#{generation_attributes[:app_config_db_connection_name]}']"

  # Recupero el nodo
  node= XMLHelper.get_node_from_xml_document(xml, xpath)

  # Configuro el nodo
  node['name']= generation_attributes[:app_config_db_connection_name]
  node['connectionString']= generation_attributes[:app_config_db_connection_string]
  node['providerName']= generation_attributes[:app_config_db_connection_provider]

  # Formateo el texto
  formatted_xml= XMLHelper.format(xml.to_xml)

  # Guardo el resultado
  File.write(get_app_config_file,formatted_xml)

end
get_db_connection_name_method() click to toggle source
# File lib/CapicuaGenGaspar/DataAccess/CSConnectionProvider/Source/cs_db_connection_provider_feature.rb, line 54
def get_db_connection_name_method
  return "\"#{generation_attributes[:app_config_db_connection_name]}\""
end
get_db_connection_provider_method() click to toggle source

Devuelve el metodo que genera el proveedor de conexion

# File lib/CapicuaGenGaspar/DataAccess/CSConnectionProvider/Source/cs_db_connection_provider_feature.rb, line 50
def get_db_connection_provider_method
  return "DbProviderFactories.GetFactory(ConfigurationManager.ConnectionStrings[\"#{generation_attributes[:app_config_db_connection_name]}\"].ProviderName)"
end
get_db_connection_string_method() click to toggle source

Devuelve la cadena de conexión

# File lib/CapicuaGenGaspar/DataAccess/CSConnectionProvider/Source/cs_db_connection_provider_feature.rb, line 59
def get_db_connection_string_method
  return "ConfigurationManager.ConnectionStrings[\"#{generation_attributes[:app_config_db_connection_name]}\"].ConnectionString"
end