class Bibliografia::Referencia
Clase Referencia
para gestionar las de una Bibliografía
Attributes
autores[RW]
Getters + Setters
editorial[RW]
Getters + Setters
fecha_publicacion[RW]
Getters + Setters
num_edicion[RW]
Getters + Setters
num_isbns[RW]
Getters + Setters
serie[RW]
Getters + Setters
titulo[RW]
Getters + Setters
Public Class Methods
new(autores, titulo, serie, editorial, num_edicion, fecha_publicacion, num_isbns)
click to toggle source
Constructor
# File lib/bibliografia/bibliografia_impl.rb, line 21 def initialize(autores, titulo, serie, editorial, num_edicion, fecha_publicacion, num_isbns) if titulo == nil return end @autores = autores set_titulo(titulo) set_serie(serie) @editorial = editorial @num_edicion = num_edicion @fecha_publicacion = fecha_publicacion @num_isbns = num_isbns end
Public Instance Methods
<=>(anOther)
click to toggle source
Comparador
# File lib/bibliografia/bibliografia_impl.rb, line 12 def <=> (anOther) # @autores <=> anOther.autores this_year = @fecha_publicacion[/.*, ([^\)]*)/,1] that_year = anOther.fecha_publicacion[/.*, ([^\)]*)/,1] # self.autores <=> anOther.autores == 0 ? this_year <=> that_year : self.autores <=> anOther.autores [self.autores, this_year, self.titulo] <=> [anOther.autores, that_year, anOther.titulo] end
autor_rev(autor)
click to toggle source
Invierte nombre
# File lib/bibliografia/bibliografia_impl.rb, line 55 def autor_rev(autor) name_parts = autor.split - [" "] first_name, last_name = name_parts[0], name_parts[-1] last_name + ", " + first_name[0] end
mi_puts(sufijo)
click to toggle source
Para método puts
# File lib/bibliografia/bibliografia_impl.rb, line 90 def mi_puts(sufijo) this_year = @fecha_publicacion[/.*, ([^\)]*)/,1] puts "#{print_autor} (#{this_year})#{sufijo}.\n\t#{titulo}\n\t#{serie}\n\t#{editorial}; #{num_edicion} #{fecha_publicacion}\n\t#{print_isbn}" end
print_autor()
click to toggle source
Muestra lista de autores
# File lib/bibliografia/bibliografia_impl.rb, line 62 def print_autor count = 0 lista = "" autores.each do |autor| count += 1 lista += autor_rev(autor) lista += " & " if count != autores.size end lista end
print_isbn()
click to toggle source
Muestra lista de isbn
# File lib/bibliografia/bibliografia_impl.rb, line 74 def print_isbn lista = "" num_isbns.each do |isbn| count = 0 lista += "ISBN-" + isbn.delete('^0-9').size.to_s + ": " + isbn lista += "\n\t" if count != num_isbns.size end lista end
serie=(args)
click to toggle source
setter de serie
# File lib/bibliografia/bibliografia_impl.rb, line 45 def serie=(args) set_serie(args) end
set_serie(args)
click to toggle source
soporte de setter de serie
# File lib/bibliografia/bibliografia_impl.rb, line 50 def set_serie(args) args == "" ? @serie = "" : @serie = "(" + args[1..-1].split.map(&:capitalize).join(' ') end
set_titulo(args)
click to toggle source
soporte de setter de título
# File lib/bibliografia/bibliografia_impl.rb, line 40 def set_titulo(args) args == "" ? @titulo = "" : @titulo = args.split.map(&:capitalize).join(' ') end
titulo=(args)
click to toggle source
setter de título
# File lib/bibliografia/bibliografia_impl.rb, line 35 def titulo=(args) set_titulo(args) end
to_s()
click to toggle source
Para método puts
# File lib/bibliografia/bibliografia_impl.rb, line 85 def to_s "#{print_autor}\n\t#{titulo}\n\t#{serie}\n\t#{editorial}; #{num_edicion} #{fecha_publicacion}\n\t#{print_isbn}" end