diff options
Diffstat (limited to 'activesupport/lib/active_support/core_ext/kernel')
-rw-r--r-- | activesupport/lib/active_support/core_ext/kernel/reporting.rb | 14 |
1 files changed, 8 insertions, 6 deletions
diff --git a/activesupport/lib/active_support/core_ext/kernel/reporting.rb b/activesupport/lib/active_support/core_ext/kernel/reporting.rb index 0f101e8fa4..d9b84e6543 100644 --- a/activesupport/lib/active_support/core_ext/kernel/reporting.rb +++ b/activesupport/lib/active_support/core_ext/kernel/reporting.rb @@ -7,15 +7,17 @@ module Kernel # # noisy_call # warning voiced def silence_warnings - old_verbose, $VERBOSE = $VERBOSE, nil - yield - ensure - $VERBOSE = old_verbose + with_warnings(nil) { yield } end # Sets $VERBOSE to true for the duration of the block and back to its original value afterwards. def enable_warnings - old_verbose, $VERBOSE = $VERBOSE, true + with_warnings(true) { yield } + end + + # Sets $VERBOSE for the duration of the block and back to its original value afterwards. + def with_warnings(flag) + old_verbose, $VERBOSE = $VERBOSE, flag yield ensure $VERBOSE = old_verbose @@ -56,4 +58,4 @@ module Kernel raise unless exception_classes.any? { |cls| e.kind_of?(cls) } end end -end
\ No newline at end of file +end |