TODO: подумать над структурой

Начало

Styleguide

Документация

Ruby

Gems

Rails

Правила

  • DateTime.current
  • На функциональные баги пишется тест;
  • Запросы к базе только в моделях, снаружи scopes или методы;
  • Не используем default_scopes;
  • Используем новый формат валидаторов (validators);
  • Все константы (magic numbers, urls) подставляются через конфиги и не пишутся в коде;
  • В шаблонах можно использовать числа: для вывода массива в 3 колонки;
  • Строки через локали;
  • Можно локализировать partial целиком;
  • Покрытие контроллеров > 90%;
  • Объекты получаем отдельно, используем отдельно;
  • Извлекаем информацию из БД за постоянное число запросов(см. N+1);
  • Не увлекаемся индексами: стало тормозить - добавили индекс;
  • На уникальное поле - уникальный индекс (+ uniqueness).

Git

Github

Postgresql

Проектирование

Тестирование

Паттерны

Библиотеки

  • awesome-ruby

  • date_range_formatter

  • state_machine

  • validates - частые валидации (email, slug)

  • simple_form - формы на стероидах

  • webmock - stub/mock для io

  • simplecov - test coverage

  • factory_girl_rails - Удобная замена фикстур

  • ransack - Object-based searching (бывший MetaSearch)

  • enumerize - поле типа перечисление с поддержкой I18n и ActiveRecord/Mongoid

  • js-routes - генерирует javascript файл содержащий именованные пути из rake routes

  • gon - Your Rails variables in your JS

  • backup

  • ancestry - Organise ActiveRecord model into a tree structure (MP)

  • breadcrumbs_on_rails

  • acts-as-taggable-on - A tagging plugin for Rails applications that allows for custom tagging along dynamic contexts

  • cocoon - Dynamic nested forms using jQuery made easy; works with formtastic, simple_form or default forms

  • money - Реализация паттерна Money для Ruby

  • omniauth - Масштабируемая система OAuth авторизации

Black list

  • device
  • active_admin
  • can_can
  • paperclip
  • decent_exposure

JS

JS libs

Блоги

Casts

Статьи

Книги

Совершенный код

Ruby/Rails изнутри

Базы данных

UML

Операционные системы

Администрирование

Тестирование

ПМ

Интересное

Сервисы

Сервисы для изучения ruby

Twitter Bootstrap

Vim

Soft

chrome extensions

Благодарности

Огромное спасибо команде kaize.