Skip to content

Anadea/spark

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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.