Я пишу плагин, который добавляет метод контроллерам и объявляет его как вспомогательный метод. Если бы это было сделано статически (а не через плагин), это выглядело бы примерно так:Как я могу программно определить, какие методы были объявлены контроллером в Rails как «вспомогательные» методы?
# in RAILS_ROOT/app/controllers/stuffed_animals_controller.rb
class StuffedAnimalsController < ActionController::Base
private
def bear
'Teddy Bear'
end
helper_method :bear
end
# in RAILS_ROOT/app/views/stuffed_animals/index.html.erb:
<%= bear -%>
Это работает просто отлично. Я хочу проверить, что :some_helper_method
фактически вспомогательный метод. Я попытался это:
def test_declared_bear_as_helper_method
assert StuffedAnimalsController.helper_methods.include?(:bear)
end
К сожалению, ActionController::Base
не имеет метода :helper_methods
класса. Кто-нибудь знает, где я могу получить список вещей, которые предоставляет класс через :helper_method
?