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.