Quando eu executo o meu código o terminal recebo o seguinte erro
O erro :
C:/Users/mateus viana/Videos/Ruby/exercisiosAlura/Curso Ruby Orienta��o Objeto/Sistema De Compras de Livros/Sistema.rb: C:/Users/mateus viana/Videos/Ruby/exercisiosAlura/Curso Ruby Orientação Objeto/Sistema De Compras de Livros/Estoque.rb:28: syntax error, unexpected ',', expecting ')' (SyntaxError)
que_mais_vendeu_por( &:titulo , "LIVRO")
^
C:/Users/mateus viana/Videos/Ruby/exercisiosAlura/Curso Ruby Orientação Objeto/Sistema De Compras de Livros/Estoque.rb:28: syntax error, unexpected ')', expecting keyword_end
que_mais_vendeu_por( &:titulo , "LIVRO")
^
C:/Users/mateus viana/Videos/Ruby/exercisiosAlura/Curso Ruby Orientação Objeto/Sistema De Compras de Livros/Estoque.rb:32: syntax error, unexpected ',', expecting ')'
def que_mais_vendeu_por(&campo , tipo)
^
segue abaixo o código da minha classe estoque
Estoque.rb
class Estoque
attr_reader :livros
def initialize()
@livros = []
@livros.extend(Contador)
@vendas = []
end
def mais_baratos_que(valor)
@livros.select do |livro|
livro.preco <= valor
end
end
def livro_que_mais_vendeu_por_titulo
que_mais_vendeu_por( &:titulo , "LIVRO")
end
def que_mais_vendeu_por(&campo , tipo)
@vendas.select{|l| l.tipo == tipo.sort {|v1 , v2|}
quantidade_de_vendas_por(v1 , &:campo) <=> quantidade_de_vendas_por(v2 , &:campo)
}.last
end
def quantidade_de_vendas_por(livro , &campo )
@vendas.count {|venda| campo.call(venda) == campo.call(livro) }
end
def total
return @livros.size
end
def exporta_csv()
@livros.each do |livro|
livro.to_csv
end
end
def <<(livro)
if livro
@livros << livro
end
self
end
def vende(livro)
@livros.delete(livro)
@vendas << livro
end
end