Гем представляет собой набор полезных инструменов для повседневной работы (пока только на русском) 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