Как сказал Младен, вы можете проверить это с помощью Class#superclass
:
irb> Fixnum.superclass
=> Integer
И реализует ли Integer #times
?:
irb> Integer.instance_methods.grep /times/
=> [:times]
Да, это так.
Итак, в упрощенном виде, мы можем сказать, что super вызывает метод, которым вы являетесь в суперклассе. В вашем случае суперклассом Bacterium
является Object, который не реализует #eats
.
Я сказал, что это очень упрощено, потому что посмотрите на этот пример:
module One
def hi
" World" << super()
end
end
module Two
def hi
"Hello" << super()
end
end
class SayHi
def hi
"!!!"
end
end
h = SayHi.new
h.extend(One)
h.extend(Two)
puts h.hi
#=> Hello World!!
Не принимайте всерьез то, что я здесь написал, это на самом деле верхушка айсберга объектной модели Ruby, которую важно понять (я все еще изучаю это) - тогда вы получите большинство или все концепции.
Использовать Google-fu для "объектной модели Ruby" ...