Class: CapicuaGen::Gaspar::CSSqlEntityInterfaceFeature

Inherits:
TemplateFeature
  • Object
show all
Includes:
CapicuaGen, CapicuaGen::Gaspar, Melchior
Defined in:
lib/CapicuaGenGaspar/Business/CSSqlEntitityInterface/Source/cs_sql_entity_interface_feature.rb

Overview

Caracteristica generadora para crear interfaces a los entidades de negocio

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_data_access_full_name, #get_entity_data_access_name, #get_entity_full_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 = {}) ⇒ CSSqlEntityInterfaceFeature

Inicializa la caracteristica



39
40
41
42
43
44
45
46
47
48
49
50
# File 'lib/CapicuaGenGaspar/Business/CSSqlEntitityInterface/Source/cs_sql_entity_interface_feature.rb', line 39

def initialize(values= {})
  super(values)

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


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


end

Instance Method Details

#configure_attributesObject

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



77
78
79
80
# File 'lib/CapicuaGenGaspar/Business/CSSqlEntitityInterface/Source/cs_sql_entity_interface_feature.rb', line 77

def configure_attributes()
  self.generation_attributes[:out_dir]  = "#{self.generation_attributes[:out_dir]}/#{self.generation_attributes[:namespace]}/Interface" unless self.generation_attributes.has_in_self?(:out_dir)
  self.generation_attributes[:namespace]= "#{self.generation_attributes[:namespace]}.Interface" unless self.generation_attributes.has_in_self?(:namespace)
end

#configure_template_targetsObject

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



53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
# File 'lib/CapicuaGenGaspar/Business/CSSqlEntitityInterface/Source/cs_sql_entity_interface_feature.rb', line 53

def configure_template_targets

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

  end

end

#get_entity_interface_full_name(entity_name) ⇒ Object

Devuelve el nombre completo de la interfaz de la entidad



89
90
91
# File 'lib/CapicuaGenGaspar/Business/CSSqlEntitityInterface/Source/cs_sql_entity_interface_feature.rb', line 89

def get_entity_interface_full_name(entity_name)
  return "#{self.generation_attributes[:namespace]}.#{get_entity_interface_name(entity_name)}"
end

#get_entity_interface_name(entity_name) ⇒ Object

Devuelve el nombre de la interfaz de la entidad



84
85
86
# File 'lib/CapicuaGenGaspar/Business/CSSqlEntitityInterface/Source/cs_sql_entity_interface_feature.rb', line 84

def get_entity_interface_name(entity_name)
  return "I#{entity_name}"
end

#reset_attributesObject

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



71
72
73
74
# File 'lib/CapicuaGenGaspar/Business/CSSqlEntitityInterface/Source/cs_sql_entity_interface_feature.rb', line 71

def reset_attributes
  self.generation_attributes[:out_dir]  = nil
  self.generation_attributes[:namespace]= nil
end