Если приложение Rails имеет два движка, которые определяют один и тот же метод, какая версия «выиграет»? Как определяется, какой из них выполняется, когда вызывается имя метода?
Например, оба движка Rails blacklight и другой движок Rails, предназначенный для изменения функциональности Blacklight определите метод следующим образом:
module Blacklight
class SuggestSearch
def suggestions
...
end
end
end
Определение метода одинаково в двух движках, но с ...
вместо различного содержимого. Второй из двигателей предназначен для переопределения функциональности первого.
Два двигателя используются в одном приложении, например так:
gem 'blacklight'
gem 'trln_argon'
Как рельсы узнают, какой двигатель модифицирован другой? Как определяется определение suggestions
для второго двигателя?