Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

O que teria em matcher[0]?

Acompanhando a aula, vejo que ele vai direto ao ponto desejado para implementar a função desejada mas não explica bem o que esta fazendo diferente dos cursos mais recentes, eu não fiz os Cursos de Ruby On Rails 3 que são pre-requisitos pois não consegui instalar o Rails (pois o curso não ensina isso...)

Vendo essa parte do código fiquei curioso com o método match e o que ele retorna na posição 0, se é um boolean ou o que

def method_missing(name)
      matcher = name.to_s.match "(.+)_que_mais_vendeu_por_(.+)"

      if matcher
         tipo = matcher[1]
         campo = matcher[2].to_sym  #pois precisamos converter para simbolo
         que_mais_vendeu_por(tipo, &campo)
      else
         super
      end 
   end
1 resposta
solução!

Geralmente quando usamos matchers com grupos, a posição zero representa a expressão inteira que deu match.

Então seria algo como:

if matcher
    string_que_deu_match = matcher[0]
    tipo = matcher[1]
    ...

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software