Class: CapicuaGen::Gaspar::CSSqlDataAccessFeature

Inherits:
TemplateFeature
  • Object
show all
Includes:
CapicuaGen, CapicuaGen::Gaspar, Melchior
Defined in:
lib/CapicuaGenGaspar/DataAccess/CSSqlDataAccess/Source/cs_sql_data_access_feature.rb

Overview

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

Instance Method Summary collapse

Methods included from CapicuaGen::Gaspar

#get_about_class_full_name, #get_about_class_name, #get_app_config_file, #get_db_connection_name_method, #get_db_connection_provider_method, #get_db_connection_string_method, #get_entity_by_catalog_name, #get_entity_catalogs_full_name, #get_entity_catalogs_name, #get_entity_full_name, #get_entity_interface_full_name, #get_entity_interface_name, #get_entity_name, #get_main_form_class_full_name, #get_main_form_class_name, #get_namespaces, #get_namespaces_text, #get_splash_class_full_name, #get_splash_class_name

Constructor Details

#initialize(values = {}) ⇒ CSSqlDataAccessFeature

Inicializa la caracteristica



44
45
46
47
48
49
50
51
52
53
54
55
56
# 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

Instance Method Details

#configure_attributesObject

Configura los atributos personalizados de la caracteristica (antes de establecer el generador)



87
88
89
90
# 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_targetsObject

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



59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
# 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 caracteristicas 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) ⇒ Object

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



99
100
101
# 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) ⇒ Object

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



94
95
96
# 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_attributesObject

Resetea los atributos personalizados de la caracteristica (antes de establecer el generador)



81
82
83
84
# 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