Ruby · Avançado · Inglês · Técnico
ancestors
Método de Module que devolve, em ordem, as classes e módulos que o Ruby consulta ao procurar um método. É a ordem de resolução usada pelo super.
Onde usar
Aparece ao depurar de onde vem um método, entender mixins e prepend, ou explicar por que super chama determinado módulo.
Em código
module Falante; end
class Animal; end
class Cao < Animal
include Falante
end
p Cao.ancestors.first(3)
# => [Cao, Falante, Animal]Exemplos
Check the ancestors to see where the method comes from.
Veja os ancestors para saber de onde vem o método.
Included modules show up between the class and its parent.
Módulos incluídos aparecem entre a classe e a classe pai.
Cuidado
Não é só a cadeia de superclasses: módulos incluídos e prepended aparecem na lista, na posição em que o Ruby os consulta.
Sinônimos
ordem de resolução de métodos