Class: DslBibliografia

Inherits:
Object
  • Object
show all
Includes:
Comparable
Defined in:
lib/referencia/dslbibliografia.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(a_titulo, a_fecha, &block) ⇒ DslBibliografia

Returns a new instance of DslBibliografia.



20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
# 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

Instance Attribute Details

#m_anioObject

Returns the value of attribute m_anio.



18
19
20
# File 'lib/referencia/dslbibliografia.rb', line 18

def m_anio
  @m_anio
end

#m_autorObject

Returns the value of attribute m_autor.



18
19
20
# File 'lib/referencia/dslbibliografia.rb', line 18

def m_autor
  @m_autor
end

#m_doc_electronicoObject

Returns the value of attribute m_doc_electronico.



18
19
20
# File 'lib/referencia/dslbibliografia.rb', line 18

def m_doc_electronico
  @m_doc_electronico
end

#m_libroObject

Returns the value of attribute m_libro.



18
19
20
# File 'lib/referencia/dslbibliografia.rb', line 18

def m_libro
  @m_libro
end

#m_periodicoObject

Returns the value of attribute m_periodico.



18
19
20
# File 'lib/referencia/dslbibliografia.rb', line 18

def m_periodico
  @m_periodico
end

#m_revistaObject

Returns the value of attribute m_revista.



18
19
20
# File 'lib/referencia/dslbibliografia.rb', line 18

def m_revista
  @m_revista
end

#m_tituloObject

Returns the value of attribute m_titulo.



18
19
20
# File 'lib/referencia/dslbibliografia.rb', line 18

def m_titulo
  @m_titulo
end

Instance Method Details

#<=>(other) ⇒ Object

Metodo que sirve para poder comparar objetos del mismo tipo



4
5
6
7
8
9
10
11
12
13
14
15
16
17
# 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 = {}) ⇒ Object

Metodo para definir el o los autores del articulo



59
60
61
62
63
64
# 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 = {}) ⇒ Object

Definicion de los atributos propios de un Documento Electronico



98
99
100
101
102
103
104
105
106
# 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 = {}) ⇒ Object

Definicion de los atributos propios de un Libro



67
68
69
70
71
72
73
74
75
76
# 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 = {}) ⇒ Object

Definición de los atributos propios de un Periodico



89
90
91
92
93
94
95
# 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 = {}) ⇒ Object

Definición de los atributos propios de una Revista



79
80
81
82
83
84
85
86
# 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) ⇒ Object

Definición del titulo



109
110
111
# File 'lib/referencia/dslbibliografia.rb', line 109

def titulo(a_titulo)
  titulo = a_titulo
end

#to_sObject

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



37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
# 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