модуль 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=.
Атрибуты
Определяет, нужно ли выводить стек вызовов вместе с предупреждением.
Публичные методы экземпляров
# 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 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, но более эффективно.
# File activesupport/lib/active_support/deprecation/behaviors.rb, line 71 def disallowed_behavior @disallowed_behavior ||= [DEFAULT_BEHAVIORS[:raise]] end
Возвращает текущее поведение для запрещённых событий устаревания или, если оно не установлено, по умолчанию :raise.
# 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.