Гем представляет собой набор полезных инструменов для повседневной работы (пока только на русском)
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'ом
3. Класс EventMachine
Класс служит для подписывания на события и выполнения кода по выполнении этих событий.
Пример с подписыванием на событие after_initialize можно посмотреть helpful_utils.rb
4. Другие утилиты для падчинга можно посмотреть в helpful_utils\patching_utils
5. Кастомные названия для полей моделей(по мотивам
http://rubybrothers.ru/2008/9/9/custom-attributes-names-for-rails-validations)
Project
strikeroff-helpful_utils
collection of helpful utils,hacks , etc
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
2025
Development
Dependencies
Runtime
>= 0
Project Readme