collection of helpful utils,hacks, etc
Ruby Shell
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.
lib
test
.gitignore
CHANGELOG
Manifest
README
Rakefile
gem-build.bat
gem-build.sh
heplful_utils.gemspec

README

Гем представляет собой набор полезных инструменов для повседневной работы (пока только на русском)

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)