Sha256: e7cdc621c4f89f8f03e87479bd3d405c2493253aec4e77808e3ad8417b5d9cf3

Contents?: true

Size: 1.5 KB

Versions: 2

Compression:

Stored size: 1.5 KB

Contents

=begin

CapicuaGen

CapicuaGen es un software que ayuda a la creación automática de
sistemas empresariales a través de la definición y ensamblado de
diversos generadores de características.

El proyecto fue iniciado por José Luis Bautista Martin, el 6 de enero
del 2016.

Puede modificar y distribuir este software, según le plazca, y usarlo
para cualquier fin ya sea comercial, personal, educativo, o de cualquier
índole, siempre y cuando incluya este mensaje, y se permita acceso el
código fuente.

Este software es código libre, y se licencia bajo LGPL.

Para más información consultar http://www.gnu.org/licenses/lgpl.html
=end

module CapicuaGen::Melchior


# Clase para definir la estructura de una entidad, puede tener propiedades a su vez
  class EntitySchema

    attr_accessor :name, :fields, :sql_name

    def initialize (values= {})
      @name  = values[:name]
      @fields= values[:fields]
      @fields= [] unless @fields

      @sql_name= values[:sql_name]

      # correguir_nombre
      fix_name
    end

    # Deuelve los campos primarios
    def primary_fields
      return @fields.select { |field| field.primary_key }
    end

    def non_primary_fields
      return @fields - primary_fields
    end


    protected
    # Ajusta el nombre
    def fix_name
      return if @name
      return unless @sql_name
      @name= @sql_name.clone
      /\[[^\]]+\]\.\[([^\]]+)\]/.match (@sql_name) { @name= $1 }
      @name.gsub!("\"", '')
      @name.gsub!("''", '')
      @name.gsub!(" ", '')
    end

  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
CapicuaGenMelchior-0.0.3 lib/CapicuaGenMelchior/DataAccess/EntitySqlDataAccess/Source/entity_schema.rb
CapicuaGenMelchior-0.0.2 lib/CapicuaGenMelchior/DataAccess/EntitySqlDataAccess/Source/entity_schema.rb