Модуль Warning
Модуль Warning содержит один метод с именем warn, и модуль расширяет сам себя, делая Warning.warn доступным. Warning.warn вызывается для всех предупреждений, выданных Ruby. По умолчанию, предупреждения выводятся в $stderr.
Переопределяя Warning.warn, вы можете изменить то, как Ruby обрабатывает предупреждения, либо отфильтровывая некоторые предупреждения, либо выводя предупреждения в другое место, помимо $stderr. При переопределении Warning.warn, можно вызвать super, чтобы получить поведение по умолчанию — вывести предупреждение в $stderr.
Методы класса
static VALUE
rb_warning_s_aref(VALUE mod, VALUE category)
{
rb_warning_category_t cat = rb_warning_category_from_name(category);
if (rb_warning_category_enabled_p(cat))
return Qtrue;
return Qfalse;
} call-seq
Warning[category] -> true or false
Возвращает флаг для отображения сообщений предупреждения для category. Поддерживаемые категории:
-
:deprecated -
предупреждения о устаревании
-
присвоение ненулевого значения
$,и$; -
ключевые аргументы
-
proc/lambda без блока
и т.д.
-
:experimental -
экспериментальные возможности
-
Сопоставление с образцом
static VALUE
rb_warning_s_aset(VALUE mod, VALUE category, VALUE flag)
{
unsigned int mask = rb_warning_category_mask(category);
unsigned int disabled = warning_disabled_categories;
if (!RTEST(flag))
disabled |= mask;
else
disabled &= ~mask;
warning_disabled_categories = disabled;
return flag;
} call-seq
Warning[category] = flag -> flag
Устанавливает флаги предупреждений для category. См. Warning.[] для категорий.
Методы экземпляра
static VALUE
rb_warning_s_warn(VALUE mod, VALUE str)
{
Check_Type(str, T_STRING);
rb_must_asciicompat(str);
rb_write_error_str(str);
return Qnil;
} Записывает сообщение предупреждения msg в $stderr. Этот метод вызывается Ruby для всех выводимых предупреждений.
Ruby Core © 1993–2017 Yukihiro Matsumoto
Licensed under the Ruby License.
Ruby Standard Library © contributors
Licensed under their own licenses.