Фреймворк Sinatra

Sinatra — бесплатный и окрытый DSL-фреймворк, написанный с использованием языка Ruby со всеми из этого вытекающими. В отличии от тяжеловеса Ruby on Rails, Sinatra из коробки имеет минимум зависимостей, а структура приложения ни коим образом не навязывается.

Благодаря обширной коллекции готовых гемов расширение функциональности — не проблема.

Sinatra подходит как для создания приложения без фронтенда — API, так и с легкостью справится с рендером шаблонов.

Пример рендера JSON (требуется гем json):

require 'json'
get '/example.json' do
content_type :json
{ :key1 => 'value1', :key2 => 'value2' }.to_json
end

Минимальное рабочее приложение имеет следующий вид:

require 'rubygems'
require 'sinatra'

get '/hi' do
'Привет, мир!'
end

Затем, выполнив:

ruby app.rb

приложение будет доступно по адресу localhost:4567


Официальная документация — http://www.sinatrarb.com/intro.html

Официальный репозиторий — https://github.com/sinatra/sinatra