Гем представляет собой набор полезных инструменов для повседневной работы (пока только на русском)
1.Configuration Загрузка конфигурационных файлов в окружение Configuration из папки RAILS_ROOT/config/project(по умолчанию). Для каждого найденного yaml файла в папке project мы производим загрузку в окружение. Все это делается в целях удобства обращения к конфигурации. Доступ к конфигам из проекта - Configuration.НАЗВАНИЕ_ФАЙЛА.КЛЮЧ. 2. Расширение классов стандартной библиотеки
а) Расширение классов Array и Hash
метод deep_clone - выполняется рекурсивное клонирование всех элементов.
б) Расширение модуля Kernel
метод with - Переключение области видимости на объект.Использовать осторожно. Рекомендуется применять,
когда в коде идет несколько операций над одним объектом. Таким образом следующий код:
contexts.set_context(:region, :volga)
contexts.set_context(:site, "gionet.ru")
contexts.set_context(:special, special_object)
contexts.run
можно преобразовать в следующий:
with contexts do
set_context(:region, :volga)
set_context(:site, "gionet.ru")
set_context(:special, special_object)
run
end
в) расширения класса String
1) метод to_json_with_russian_support - Если вызывать у строки с русским текстом стандартный метод to_json, а потом попробовать отобразить ее
то получится что то невразумительное.Данный метод исправляет проблему. Пример
"тут русский текст".to_json(:russian=>true). По умолчанию russian == false
2) json? - Проверка,является ли строка JSON'ом
- Класс EventMachine Класс служит для подписывания на события и выполнения кода по выполнении этих событий. Пример с подписыванием на событие after_initialize можно посмотреть helpful_utils.rb
- Другие утилиты для падчинга можно посмотреть в helpful_utils\patching_utils
- Кастомные названия для полей моделей(по мотивам http://rubybrothers.ru/2008/9/9/custom-attributes-names-for-rails-validations) - это для тех кто ниже Rails 2.3.* ветки сидит