Я новичок в фреймворке Sinatra и пытаюсь сделать гем совместимым с приложениями на основе Sinatra :: Base & Sinatra :: Application. У меня есть этот код в моем гем, и он отлично работает в обоих приложениях:
health_check.rb
class App1 < Sinatra::Base
get '/health/liveness' do
halt 204
end
end
class App2 < Sinatra::Application
get '/health/liveness' do
halt 204
end
end
Но я повторяю код, и я хотел бы иметь что-то вроде этого, но это не работает:
health_check.rb
module HealthHelper
get '/health/liveness' do
halt 204
end
end
class App1 < Sinatra::Base
include HealthHelper
end
class App2 < Sinatra::Application
include HealthHelper
end
Когда я пытаюсь запустить любое приложение с включенным гемом, я получаю эту ошибку
/lib/health_check.rb:3:in `<module:HealthHelper>': undefined method `get' for HealthHelper:Module (NoMethodError)
Did you mean? gets
gem
Любая идея сделать его чище?