Зачем при написании API с помощью Grape использовать макрос helpers
вместо простого включения модуля или добавления метода?
Например, вы можете определить методы в модуле и включить их в качестве помощников в Grape следующим образом:
module HelperMethods
def useful_method(param)
"Does a thing with #{param}"
end
end
class HelpersAPI < Grape::API
helpers HelperMethods
get 'do_stuff/:id' do
useful_method(params[:id])
end
end
Но почему бы просто не сделать это?
class IncludeAPI < Grape::API
include HelperMethods
get 'do_stuff/:id' do
useful_method(params[:id])
end
end
Я предполагаю, что немного более ясно, что вы включаете модуль HelperMethods
с целью предоставления вспомогательных методов, но это кажется слабой причиной для добавления альтернативного синтаксиса.
Каковы преимущества / причины, по которым вы хотели бы использовать helpers
по сравнению с обычным include
?
helpers
также включает модуль во вложенные пространства имен. - person Stefan   schedule 15.06.2016