Блок конфигурации в Ruby

Когда вы разрабатываете свою библиотеку на Ruby, в какой-то момент вам может понадобиться сделать часть параметров настраиваемыми. И самым идиоматичным и элегантным способом в Ruby является глобальная конфигурация с помощью блока. На мой взгляд, она настолько простая, что вам, скорее всего, не понадобится никакой другой гем, реализующий этот функционал. Однако есть несколько моментов, которые вам следует учесть: * Не используйте ваши настройки в методах напрямую, а задайте с помощью конфигурации значение по умолчанию для входного параметра вашего метода (см. пример на изображении). Или на крайний случай добавьте необязательный параметр config в ваш метод - это позволит переопределить конфигурацию для конкретного вызова метода. * Это не потокобезопасно, поэтому вам следует выполнить настройку конфигурации в самом начале, до использования многопоточности (особенно это важно, если ваш класс конфигурации выполняет какие-либо побочные действия).

А как вы реализуете конфигурацию в своих гемах? Какие моменты следует учесть?

#Ruby #Config #Setting #Initialization #Gem #Library

Блок конфигурации в Ruby | Сетка — социальная сеть от hh.ru