Class: RefBiblio::Referencia

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

Direct Known Subclasses

Libro, Periodicas

Instance Attribute Summary (collapse)

Instance Method Summary (collapse)

Constructor Details

- (Referencia) initialize

Returns a new instance of Referencia



10
11
# File 'lib/refBiblio/referencia.rb', line 10

def initialize()
end

Instance Attribute Details

- (Object) autor(autor)

Metodo para guardar el nombre del autor/autores

Parameters:

  • autor (autor)

    Nombre del autor a introducir



15
16
17
# File 'lib/refBiblio/referencia.rb', line 15

def autor
  @autor
end

- (Object) editorial(editorial)

Metodo para guardar el editorial de la referencia

Parameters:

  • editorial (editorial)

    Editorial de la referencia a introducir



50
51
52
# File 'lib/refBiblio/referencia.rb', line 50

def editorial
  @editorial
end

- (Object) publicacion(publicacion)

Metodo para guardar la fecha de publicacion de la referencia

Parameters:

  • publicacion (publicacion)

    Fecha de publicacion de la referencia a introducir



56
57
58
# File 'lib/refBiblio/referencia.rb', line 56

def publicacion
  @publicacion
end

- (Object) titulo(titulo)

Metodo para guardar el titulo de la referencia

Parameters:

  • titulo (titulo)

    Titulo de la referencia a introducir



34
35
36
# File 'lib/refBiblio/referencia.rb', line 34

def titulo
  @titulo
end

Instance Method Details

- (Object) <=>(otro)

Método con el que podemos usar el modulo Enumerable

Parameters:

  • otro

    Otro elemento a comparar

Returns:

  • Devuelve valores entre -1 y 1 segun el orden



87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
# File 'lib/refBiblio/referencia.rb', line 87

def <=> (otro)
	if(@autor == otro.get_autor)
		if(@publicacion == otro.get_publicacion)
			if(@titulo == otro.get_titulo)
				return 0
			else
				arr = [@titulo, otro.get_titulo]
				arr.sort_by!{|t| t.downcase}
				if(arr.first == @titulo)
					return 1
				end
				return -1
			end
		elsif publicacion > otro.get_publicacion
			return -1
		else
			return 1
		end
	else
		arr = [@autor, otro.get_autor]
		arr.sort_by!{|t| t.downcase}
		if(arr.first == @autor)
			return -1
		end
		return 1
	end
end

- (Object) get_autor

Metodo para obtener el autor/autores de la referencia

Returns:

  • Autor/autores de la referencia



68
69
70
# File 'lib/refBiblio/referencia.rb', line 68

def get_autor
	@autor
end

- (Object) get_editorial

Metodo para obtener el editorial de la referencia

Returns:

  • Editorial de la referencia



74
75
76
# File 'lib/refBiblio/referencia.rb', line 74

def get_editorial
	@editorial
end

- (Object) get_publicacion

Metodo para obtener la fecha de publicacion de la referencia

Returns:

  • Fecha de publicacion de la referencia



80
81
82
# File 'lib/refBiblio/referencia.rb', line 80

def get_publicacion
	@publicacion
end

- (Object) get_titulo

Metodo para obtener el titulo de la referencia

Returns:

  • Titulo de la referencia



62
63
64
# File 'lib/refBiblio/referencia.rb', line 62

def get_titulo
	@titulo
end