class DslBibliografia

Attributes

m_anio[RW]
m_autor[RW]
m_doc_electronico[RW]
m_libro[RW]
m_periodico[RW]
m_revista[RW]
m_titulo[RW]

Public Class Methods

new(a_titulo, a_fecha) { |self| ... } click to toggle source
# File lib/referencia/dslbibliografia.rb, line 20
def initialize(a_titulo, a_fecha, &block)
  self.m_titulo = a_titulo
  self.m_anio = a_fecha
  self.m_autor = []
  self.m_revista = []
  self.m_libro = []
  self.m_periodico = []
  self.m_doc_electronico =[]
  if block_given?
    if block.arity == 1
      yield self
    else
      instance_eval &block
    end
  end
end

Public Instance Methods

<=>(other) click to toggle source

Metodo que sirve para poder comparar objetos del mismo tipo

# File lib/referencia/dslbibliografia.rb, line 4
def <=>(other)
  return nil if other.nil? #Si el valor con el que se compara es nil, saldr� y retornara que lo es
  t_comparaciones=self.m_autor <=> other.m_autor
  if(t_comparaciones == 0)
    t_comparaciones=self.m_anio <=> other.m_anio
    if (t_comparaciones == 0)
      t_comparaciones=self.m_anio <=> other.m_titulo
      if(t_comparaciones == 0)
        t_comparaciones
      end
    end
  end
  t_comparaciones
end
autor(nombre, options={}) click to toggle source

Metodo para definir el o los autores del articulo

# File lib/referencia/dslbibliografia.rb, line 59
def autor (nombre, options={})
  autor = nombre
  autor << "#{options[:apellido]}" if options[:apellido]
  autor << "#{options[:nombre]}" if options[:nombre]
  m_autor << autor
end
documentoElectronico(arg,options={}) click to toggle source

Definicion de los atributos propios de un Documento Electronico

# File lib/referencia/dslbibliografia.rb, line 98
def documentoElectronico(arg,options={})
  documentoElectronico =arg
  documentoElectronico<< "#{options[:edicion]}" if options[:edicion]
  documentoElectronico<< "#{options[:tipo_de_medio]}" if options[:tipo_de_medio]
  documentoElectronico<< "#{options[:editor]}" if options[:editor]
  documentoElectronico<< "#{options[:url]}" if options[:url]
  documentoElectronico<< "#{options[:fecha_de_acceso]}" if options[:fecha_de_acceso]
  m_doc_electronico<<documentoElectronico
end
libro(arg,options={}) click to toggle source

Definicion de los atributos propios de un Libro

# File lib/referencia/dslbibliografia.rb, line 67
def libro(arg,options={})
  libro= arg
  libro << "#{options[:edicion]}" if options[:edicion]
  libro << "#{options[:volumen]} " if options[:volumen]
  libro << "#{options[:lugar]}" if options[:lugar]
  libro << "#{options[:isbn]}" if options[:isbn]
  libro << "#{options[:editorial]}" if options[:editorial]
  m_libro<<libro
  
end
periodico(arg,options={}) click to toggle source

Definición de los atributos propios de un Periodico

# File lib/referencia/dslbibliografia.rb, line 89
def periodico(arg,options={})
  periodico= arg
  periodico << "#{options[:nombre_periodico]}" if options[:nombre_periodico]
  periodico << "#{options[:volumen]}" if options[:volumen]
  periodico << "#{options[:paginas]}" if options[:paginas]
  m_periodico<<periodico
end
revista(arg,options={}) click to toggle source

Definición de los atributos propios de una Revista

# File lib/referencia/dslbibliografia.rb, line 79
def revista(arg,options={})
  revista= arg
  revista << "#{options[:nombre_revista]}" if options[:nombre_revista]
  revista << "#{options[:volumen]}" if options[:volumen]
  revista << "#{options[:numero]}" if options[:numero]
  revista << "#{options[:paginas]}" if options[:paginas]
  m_revista<<revista
end
titulo(a_titulo) click to toggle source

Definición del titulo

# File lib/referencia/dslbibliografia.rb, line 109
def titulo(a_titulo)
  titulo = a_titulo
end
to_s() click to toggle source

Método que muestra, según lo los atributos que tenga, la información del articulo

# File lib/referencia/dslbibliografia.rb, line 37
def to_s
  salida = "\t#{m_titulo}\n"

  salida << "Autores: #{m_autor.join(', ')}\n"
  salida << "Año: #{m_anio}\n"
  if m_revista.size >0
    salida << "Articulo de Revista: #{m_revista}\n"

  elsif m_doc_electronico.size>0
    salida << "Documento Electronico: #{m_doc_electronico}\n\n"

  elsif m_libro.size>0
    salida << "Libro: #{m_libro}\n"

  elsif m_periodico.size>0
    salida << "Articulo de Periodico: #{}\n\n"
  end
  salida
 
end