class Referencia
Attributes
autores[R]
editorial[R]
fecha[R]
isbn10[R]
isbn13[R]
nedicion[R]
serie[R]
titulo[R]
Public Class Methods
crear(&block)
click to toggle source
# File lib/bibliogem/Referencia.rb, line 40 def self.crear &block newref = Referencia.new([""],"","","",0,"01-01-1990",[],[]) newref.evaluar(&block) return newref end
new(aut,tit,ser,edi,ne,fe,is10,is13)
click to toggle source
# File lib/bibliogem/Referencia.rb, line 4 def initialize(aut,tit,ser,edi,ne,fe,is10,is13) if aut.any? @autores=aut else raise ArgumentError.new("Error: Se requiere al menos un autor") end if !tit.nil? @titulo=tit else raise ArgumentError.new("Error: Se requiere un tiulo") end @serie=ser if !edi.nil? @editorial=edi else raise ArgumentError.new("Error: Se requiere una editorial") end if !ne.nil? @nedicion=ne else raise ArgumentError.new("Error Se requiere un numero de edicion") end if !fe.nil? @fecha=Date::strptime(fe, "%d-%m-%Y") else raise ArgumentError.new("Error: Se requiere una fecha con formato %d-%m-%Y") end if !is10.nil? || !is13.nil? @isbn10=is10 @isbn13=is13 else raise ArgumentError.new("Error: Se requiere al menos un codigo isbn") end end
Public Instance Methods
<=>(referencia)
click to toggle source
# File lib/bibliogem/Referencia.rb, line 51 def <=>(referencia) if(@autores[0] <=> referencia.autores[0]) if(@autores.count<=>referencia.autores.count) if(@fecha <=> referencia.fecha) @titulo <=> referencia.titulo end end end end
AUTOR(nombre)
click to toggle source
# File lib/bibliogem/Referencia.rb, line 72 def AUTOR nombre @autores << nombre end
EDICION(edicion)
click to toggle source
# File lib/bibliogem/Referencia.rb, line 88 def EDICION edicion @nedicion = edicion end
EDITORIAL(edit)
click to toggle source
# File lib/bibliogem/Referencia.rb, line 84 def EDITORIAL edit @editorial = edit end
FECHA(fecha)
click to toggle source
# File lib/bibliogem/Referencia.rb, line 92 def FECHA fecha @fecha = fecha end
ISBN10(isbn)
click to toggle source
# File lib/bibliogem/Referencia.rb, line 96 def ISBN10 isbn @isbn10 << isbn end
ISBN13(isbn)
click to toggle source
# File lib/bibliogem/Referencia.rb, line 100 def ISBN13 isbn @isbn13 << isbn end
SERIE(serie)
click to toggle source
# File lib/bibliogem/Referencia.rb, line 80 def SERIE serie @serie = serie end
TITULO(nombre)
click to toggle source
# File lib/bibliogem/Referencia.rb, line 76 def TITULO nombre @titulo = nombre end
evaluar(&block)
click to toggle source
# File lib/bibliogem/Referencia.rb, line 46 def evaluar &block @autores = [] instance_eval &block end
to_s()
click to toggle source
# File lib/bibliogem/Referencia.rb, line 61 def to_s splitnames = [] @autores.each do |nombre| listanombres = nombre.split nombre = listanombres[0] apellidos = listanombres[1..-1].join(" ").capitalize splitnames.push(apellidos + ", " + nombre[0]) end "Autor: #{splitnames.join(" & ")} (#{@fecha}). Titulo del libro: #{@titulo.capitalize} (#{@nedicion}). Lugar de publicacion: #{@editorial}" end