Spec-Zone.ru › Ruby on Rails 7.0

модуль ActiveSupport::Deprecation::Behavior

Behavior модуль позволяет определить, как отображать сообщения об устаревании. Вы можете создать пользовательское поведение или установить любое из DEFAULT_BEHAVIORS констант. Доступные варианты поведения:

raise

Вызвать ActiveSupport::DeprecationException.

stderr

Записать все предупреждения об устаревании в $stderr.

log

Записать все предупреждения об устаревании в Rails.logger.

notify

Использовать ActiveSupport::Notifications для уведомления deprecation.rails.

silence

Ничего не делать. В Rails, установите config.active_support.report_deprecations = false для отключения всех вариантов поведения.

Настройка поведения влияет только на события устаревания, происходящие после загрузки приложения. Для получения дополнительной информации вы можете обратиться к документации метода behavior=.

Атрибуты

debug[RW]

Определяет, нужно ли выводить стек вызовов вместе с предупреждением.

Публичные методы экземпляров

behavior() Показать исходный код
# File activesupport/lib/active_support/deprecation/behaviors.rb, line 66
def behavior
  @behavior ||= [DEFAULT_BEHAVIORS[:stderr]]
end

Возвращает текущее поведение или, если оно не установлено, по умолчанию :stderr.

behavior=(behavior) Показать исходный код
# File activesupport/lib/active_support/deprecation/behaviors.rb, line 99
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

Ничего не делать.

Настройка поведения влияет только на события устаревания, происходящие после загрузки приложения. Deprecation предупреждения, генерируемые библиотеками, не затрагиваются этой настройкой, так как они происходят до запуска 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
}

Если вы используете Rails, вы можете установить config.active_support.report_deprecations = false для отключения всех вариантов поведения устаревания. Это аналогично параметру silence, но более эффективно.

disallowed_behavior() Показать исходный код
# File activesupport/lib/active_support/deprecation/behaviors.rb, line 71
def disallowed_behavior
  @disallowed_behavior ||= [DEFAULT_BEHAVIORS[:raise]]
end

Возвращает текущее поведение для запрещённых событий устаревания или, если оно не установлено, по умолчанию :raise.

disallowed_behavior=(behavior) Показать исходный код
# File activesupport/lib/active_support/deprecation/behaviors.rb, line 107
def disallowed_behavior=(behavior)
  @disallowed_behavior = Array(behavior).map { |b| DEFAULT_BEHAVIORS[b] || arity_coerce(b) }
end

Устанавливает поведение для запрещённых событий устаревания (конфигурируемых с помощью ActiveSupport::Deprecation.disallowed_warnings=) на указанное значение. Как и с behavior=, это может быть одиночное значение, массив или объект, который отвечает на call.

© 2004–2021 David Heinemeier Hansson
Licensed under the MIT License.

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API