Class: Bibliografia::Libro

Inherits:
Referencia show all
Defined in:
lib/bibliografia/bibliografia.rb

Overview

Clase Libro hija de Rerefencia

Instance Attribute Summary collapse

Attributes inherited from Referencia

#autores, #fechas_publicacion, #titulo

Instance Method Summary collapse

Methods inherited from Referencia

#<=>

Constructor Details

#initialize(titulo, &bloque) ⇒ Libro

Constructor



52
53
54
55
56
57
58
59
60
61
62
63
# File 'lib/bibliografia/bibliografia.rb', line 52

def initialize(titulo, &bloque)
  self.titulo = titulo
  self.autores = []
  self.fechas_publicacion = []
  self.num_ediciones = []
  self.volumenes = []
  self.lugares_publicacion = []
  self.editoriales = []
  self.num_isbns = []

  instance_eval &bloque if block_given?
end

Instance Attribute Details

#editorialesObject

Getters + Setters



49
50
51
# File 'lib/bibliografia/bibliografia.rb', line 49

def editoriales
  @editoriales
end

#lugares_publicacionObject

Getters + Setters



49
50
51
# File 'lib/bibliografia/bibliografia.rb', line 49

def lugares_publicacion
  @lugares_publicacion
end

#num_edicionesObject

Getters + Setters



49
50
51
# File 'lib/bibliografia/bibliografia.rb', line 49

def num_ediciones
  @num_ediciones
end

#num_isbnsObject

Getters + Setters



49
50
51
# File 'lib/bibliografia/bibliografia.rb', line 49

def num_isbns
  @num_isbns
end

#volumenesObject

Getters + Setters



49
50
51
# File 'lib/bibliografia/bibliografia.rb', line 49

def volumenes
  @volumenes
end

Instance Method Details

#autor(nombre, opciones = {}) ⇒ Object

Introduce un string con el autor de un libro



66
67
68
69
# File 'lib/bibliografia/bibliografia.rb', line 66

def autor(nombre, opciones = {})
  autor = nombre
  autores << autor
end

#editorial(nombre, opciones = {}) ⇒ Object

Introduce un string con la editorial de un libro



96
97
98
99
# File 'lib/bibliografia/bibliografia.rb', line 96

def editorial(nombre, opciones = {})
  editorial = nombre
  editoriales << editorial
end

#fecha_publicacion(fecha, opciones = {}) ⇒ Object

Introduce un string con la fecha de publicación de un libro



72
73
74
75
# File 'lib/bibliografia/bibliografia.rb', line 72

def fecha_publicacion(fecha, opciones = {})
  fecha_publicacion = fecha
  fechas_publicacion << fecha_publicacion
end

#lugar_publicacion(pais, opciones = {}) ⇒ Object

Introduce un string con el lugar de publicación de un libro



90
91
92
93
# File 'lib/bibliografia/bibliografia.rb', line 90

def lugar_publicacion(pais, opciones = {})
  lugar_publicacion = pais
  lugares_publicacion << lugar_publicacion
end

#num_edicion(numero, opciones = {}) ⇒ Object

Introduce un string con la edición de un libro



78
79
80
81
# File 'lib/bibliografia/bibliografia.rb', line 78

def num_edicion(numero, opciones = {})
  num_edicion = numero
  num_ediciones << num_edicion
end

#num_isbn(numero, opciones = {}) ⇒ Object

Introduce un string con el isbn de un libro



102
103
104
105
# File 'lib/bibliografia/bibliografia.rb', line 102

def num_isbn(numero, opciones = {})
  num_isbn = numero
  num_isbns << num_isbn
end

#to_sObject

Para método puts



108
109
110
111
112
113
114
115
116
117
118
# File 'lib/bibliografia/bibliografia.rb', line 108

def to_s()
  salida = "#{titulo},"
  salida << " #{autores.join(', ')}, "
  salida << "(#{fechas_publicacion.join(', ')}), "
  salida << "(#{num_ediciones.join(', ')}), "
  salida << "(#{volumenes.join(', ')}), "
  salida << "#{lugares_publicacion.join(', ')}, "
  salida << "#{editoriales.join(', ')}, "
  salida << "#{num_isbns.join(', ')} "
  return salida
end

#volumen(numero, opciones = {}) ⇒ Object

Introduce un string con el volumen de un libro



84
85
86
87
# File 'lib/bibliografia/bibliografia.rb', line 84

def volumen(numero, opciones = {})
  volumen = numero
  volumenes << volumen
end