1
resposta

Mostrando endereço de memória ao invés de titulo

Na hora q eu vou mostrar tanto o livro quanto a revista, ele está mostrando o endereço da memória em que estão instanciados. Não consegui arrumar isso. Alguém saberia me ajuda?

def quantidade_de_livros_vendidos(produto, &campo)
    @vendas.count {|venda| campo.call(venda) == campo.call(produto)}
  end

  def que_mais_vendeu_por(tipo, &campo)
    @vendas.select{|l| l.tipo == tipo}.sort { |v1,v2|
      quantidade_de_livros_vendidos(v1, &campo) <=> quantidade_de_livros_vendidos(v2, &campo)}.last
  end

  def livro_mais_vendido_por_titulo
    que_mais_vendeu_por("livro", &:titulo)
  end

  def livro_mais_vendido_por_editora
    que_mais_vendeu_por("livro", &:editora)
  end

  def livro_mais_vendido_por_lancamento
    que_mais_vendeu_por("livro", &:ano_lancamento)
  end

  def revista_mais_vendido_por_titulo
    que_mais_vendeu_por("revista", &:titulo)
  end

  def revista_mais_vendido_por_editora
    que_mais_vendeu_por("revista", &:editora)
  end

  def revista_mais_vendido_por_lancamento
    que_mais_vendeu_por("revista", &:ano_lancamento)
  end
1 resposta

Oi Roberto, o método to_s está escrito nas classes Livro e Revista? Que versão do Ruby você está usando? Se puder, cola essas classes aqui por favor?