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

print_isbn() click to toggle source

Muestra lista de isbn

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