модуль ActiveSupport::Deprecation::Behavior
Метод модуля позволяет определить, как отображать сообщения о устаревании. Вы можете создать собственный метод или установить любой из DEFAULT_BEHAVIORS констант. Доступные методы:
-
raise -
Выбросить
ActiveSupport::DeprecationException. -
stderr -
Залогировать все предупреждения об устаревании в +$stderr+.
-
log -
Залогировать все предупреждения об устаревании в
Rails.logger. -
notify -
Использовать
ActiveSupport::Notificationsдля уведомленияdeprecation.rails. -
silence -
Ничего не делать.
Настройка методов влияет только на сообщения об устаревании, которые появляются после запуска приложения. Для получения дополнительной информации вы можете прочитать документацию метода behavior=.
Атрибуты
Определяет, выводить ли трассировку стека вместе с предупреждением.
Открытые методы экземпляров
# File activesupport/lib/active_support/deprecation/behaviors.rb, line 66 def behavior @behavior ||= [DEFAULT_BEHAVIORS[:stderr]] end
Возвращает текущий метод или, если он не установлен, по умолчанию возвращает :stderr.
# File activesupport/lib/active_support/deprecation/behaviors.rb, line 91
def behavior=(behavior)
@behavior = Array(behavior).map { |b| DEFAULT_BEHAVIORS[b] || arity_coerce(b) }
end Устанавливает метод на указанное значение. Может быть одиночным значением, массивом или объектом, который отвечает на call.
Доступные методы:
-
raise -
Выбросить
ActiveSupport::DeprecationException. -
stderr -
Залогировать все предупреждения об устаревании в +$stderr+.
-
log -
Залогировать все предупреждения об устаревании в
Rails.logger. -
notify -
Использовать
ActiveSupport::Notificationsдля уведомленияdeprecation.rails. -
silence -
Ничего не делать.
Настройка методов влияет только на сообщения об устаревании, которые появляются после запуска приложения. Предупреждения об устаревании, выводимые gem'ами, не затрагиваются этой настройкой, потому что они появляются до запуска Rails.
ActiveSupport::Deprecation.behavior = :stderr
ActiveSupport::Deprecation.behavior = [:stderr, :log]
ActiveSupport::Deprecation.behavior = MyCustomHandler
ActiveSupport::Deprecation.behavior = ->(message, callstack, deprecation_horizon, gem_name) {
# custom stuff
}
© 2004–2018 David Heinemeier Hansson
Licensed under the MIT License.