WEBrick и Mongrel - это серверы, а не платформы для создания веб-приложений. Как таковые, они имеют API более низкого уровня и привязаны к своим собственным особенностям, что делает их плохим местом для запуска, если вы хотите спроектировать свое веб-приложение так, чтобы оно могло работать на разных серверах.
Я бы искал фреймворк, основанный на Rack , который в наши дни является стандартным базовым слоем для создания веб-приложений и веб-фреймворков в Ruby.
Если вы делаете что-то действительно простое, изучение интерфейса Rack само по себе является хорошим началом.
E.G., Приложение Rack, которое анализирует json из тела почтового запроса и выводит его обратно с предварительным подтверждением.
# in a file named config.ru
require 'json'
class JSONPrettyPrinterPrinter
def call env
request = Rack::Request.new env
if request.post?
object = JSON.parse request.body
[200, {}, [JSON.pretty_generate(object)]]
else
[200, {}, ["nothing to see here"]]
end
end
end
run JSONPrettyPrinterPrinter
вы можете запустить его, запустив rackup
в том же каталоге, что и файл.
Или, если вы хотите что-то более высокого уровня, вы можете использовать sinatra , который выглядит следующим образом
require 'sinatra'
post '/' do
object = JSON.parse request.body
JSON.pretty_generate(object)
end
README Синатры - хорошее введение в его функции.