У меня есть простой сервер в Синатре, как
require 'sinatra/base'
class Server < Sinatra::Base
get '/' do
"root"
end
get '/api/:apiname' do
"return api from module #{params.apiname}"
end
end
Я хочу иметь возможность включать модули для каждого API, которые могут использовать Sinatra DSL. Это может быть как:
module SomeApi
get '/api_method'
"result of api call"
end
end
Затем я хочу включить модуль SomeApi
в мой класс Server
, чтобы иметь возможность получить результат вызова API из URL "http://localhost/someapi/api_method". Можно ли изменить код, чтобы я мог это сделать, или я должен использовать другой фреймворк, чем Синатра? Большое спасибо!