Archive for the ‘haml’ tag
Sinatra и DataMapper: пример сервиса сокращения ссылок
В мире Ruby существует несколько ORM библиотек. Самая популярная библиотека ActiveRecord является и самой тяжелой, к тому же ее не особо удобно использовать вне Rails. Для небольших приложений на фреймворке Sinatra наиболее оптимальным вариантом является библиотека DataMapper, которая не уступает по функциональности, а в некоторых моментах опережает своего главного конкурента.
На примере простого сервиса сокращения ссылок рассмотрим работу с DataMapper внутри Sinatra.
Устанавливаем гемы с DataMapper и адаптером Sqlite к нему:
DataMapper состоит из нескольких библиотек, использовать будем только некоторые из них:
dm-core- ядро DataMapper'а.dm-validations- готовые методы для проверки входных данных.dm-timestamps- автоматическое создание и обновление полейcreated_at,updated_at.
В app.rb подключим необходимые библиотеки из DataMapper и настроим соединение с базой данных:
Hello world с помощью Ruby, Sinatra и Haml
Sinatra является легковесным фреймворком на Ruby, позволяет быстро и легко разрабатывать небольшие web-приложения. В основе фреймворка лежит DSL для простой разработки, что позволяет не отвлекаться на разбор параметров и обработку шаблонов.
Для начала нужны Ruby и Rubygems. Затем необходимо установить Sinatra:
В любимом текстовом редакторе (Vim, Emacs, TextMate и т.п.) создаем в новой директории файл app.rb, являющийся web-приложением на Sinatra:
require 'sinatra'
get '/' do
'Hello world!'
end