Spark
Генератор Ruby on Rails приложений для быстрого старта проектов.
Установка
Установите gem:
gem install anadea-spark
И запустите генератор:
spark projectname
Будет создано Rails-приложение projectname
с использованием последней стабильной версии Rails.
Гемы для приложения
- Bootstrap для стандартного внешнего вида и вёрстки по сетке.
- Email Validator для валидации адреса электронной почты.
-
Exception Notification
для уведомления по электронной почте о неперехваченных исключениях во время
работы приложения. Включается при наличии переменной окружения
MAIL_ERRORS_TO
, задающей список адресов для уведомления через запятую. - Figaro для конфигурации приложения через переменные окружения.
- High Voltage отображения домашней страницы и других страниц, не требующих кастомного контроллера.
- Jquery Rails для JQuery как дефолт Рельсов.
- Postgres для доступа к базе данных Postgres.
- Thin как руби-сервер в разработке и в первоначальном продакшене.
- Sass Rails как дефолт Рельсов.
- Simple Form для разметки и стиллизации форм. Инициализатор сгенерирован для twitter bootstrap.
- Uglifier как дефолт Рельсов.
Гемы для разработки
-
Bundler Audit для проверки
Gemfile
на предмет наличия в использованных гемах опубликованных уязвимостей (CVE). - ByeBug для интерактивной отладки.
- Pry Rails как более удобный и мощный REPL.
- Spring для предзагрузки окружения Rails, чтобы быстрее выполнять многие действия.
-
Spring Commands Rspec
для использования Spring в
bin/rspec
. - Web Console для удобной REPL отладки в браузере.
Гемы для тестирования
- Capybara и Poltergeist для интеграционного тестирования.
- Factory Girl для тестовых данных.
- Formulaic для интеграционного тестирования HTML форм.
- RSpec для тестирования.
- RSpec Mocks для стабов.
- jasmine-rails для юнит тестирования JavaScript кода.
- SimpleCov для измерения покрытия кода. Работает при передаче переменной окружения COVERAGE.
- Timecop для тестирования с учётом времени.
- Webmock для тестирования внешних HTTP запросов. Сконфигурирован запрещать любые запросы, за пределами localhost.
Прочие настройки
- В приложении создаётся скрипт
bin/setup
для лёгкого старта новыми разработчиками. - Макет (layout) приложения с флеш-сообщениями, навигацией и подвалом, сделанный под twitter bootstrap.
- Удалён гем
coffee-rails
, так как Coffeescript признан плохой практикой. - Готовый шаблон для home page – заходи и меняй.
- Несколько удобных форматов даты и времени для локализации.
- Уменьшен размер пула соединений с базой данных.
-
t()
иl()
хелперы в тестах, чтобы вызывать их без префиксов. - Переменная окружения
SECRET_KEY_BASE
используется во всех окружениях. - Google analytics установлен и настроен. Работает при передаче переменной
окружения
GOOGLE_ANALYTICS_KEY
. - Rails 12 factor для удобства деплоя в Heroku-like платформы.
- Procfile для использования в процессе разработки и для удобства деплоя в Heroku-like платформы. Также устанавливается Foreman.
- В development отправка почты настроена через Mailcatcher. Также устанавливается и запускается Mailcatcher.
- В production отправка почты настраивается через app.mailarbor.com.
- При нарушении Strong Parameters во всех окружениях бросается исключение.
- При отсутствии перевода для i18n в окружениях development и test бросается исключение.
- Добавлен
.ruby-version
, понимаемый большинством менеджеров версий Руби. - Контент
config/routes.rb
, состоящий из большого комментария, удалён.
Зависимости
Последняя стабильная версия Руби.
Некоторые гемы, от которых зависит созданное Rails приложение, требуют от системы возможность скопмилировать код на C(++). Для этого на машине должен быть установлен GCC. Используйте Command Line Tools for XCode для Lion (OS X 10.7) и новее.
Для интеграционного тестирования с Джаваскриптом используется Poltergeist, для сборки которого потребуется установленный PhantomJS.
Для успешного выполнения задачи rake db:create
нужен установленный и запущенный Postgresql.