class CapicuaGen::Melchior::EntitySqlDataAccessFeature

Característica que lee un archivo o string SQL y convierte las tablas leidas en entidades y lo expone para otras características las características pueden usar las entidades expuestas como clases o interfaces

Public Class Methods

new(values= {}) { |self| ... } click to toggle source

Inicializa la característica

Calls superclass method
# File lib/CapicuaGenMelchior/DataAccess/EntitySqlDataAccess/Source/entity_sql_data_access_feature.rb, line 36
def initialize(values= {})
  super(values) do end

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

  @sql_string= []
  @entities  = []

  #Ejecuto configuracion en bloque
  yield self if block_given?
end

Public Instance Methods

add_sql_file(*sql_files) click to toggle source

Agreo un archivo SQL

# File lib/CapicuaGenMelchior/DataAccess/EntitySqlDataAccess/Source/entity_sql_data_access_feature.rb, line 59
def add_sql_file(*sql_files)
  sql_files.each do |f|
    sql_string= File.open(f).read
    add_sql_string(sql_string)
  end
end
add_sql_string(*sql_strings) click to toggle source

Agrego una cadena SQL a las cadenas a analizar

# File lib/CapicuaGenMelchior/DataAccess/EntitySqlDataAccess/Source/entity_sql_data_access_feature.rb, line 51
def add_sql_string(*sql_strings)
  # Reinicio las entidades presentes
  @entities  = []
  # Agrego las cadenas
  @sql_string+= sql_strings
end
get_entities() click to toggle source

Devuelvo las entidades

# File lib/CapicuaGenMelchior/DataAccess/EntitySqlDataAccess/Source/entity_sql_data_access_feature.rb, line 67
def get_entities

  # Si tengo entidades ya creadas las devuelvo
  @entities unless @entities.blank?

  # Creo un parseador de entidades
  parser   = CapicuaGen::Melchior::SqlTableParse.new
  @entities= parser.parse_string(*@sql_string)

  return @entities

end