diff options
| author | Ryan Winograd <[email protected]> | 2020-08-20 21:55:26 -0500 |
|---|---|---|
| committer | Ryan Winograd <[email protected]> | 2020-08-20 21:55:26 -0500 |
| commit | 2f2264dd98595cc71b8fd2df15490de8de57265a (patch) | |
| tree | 6bb6cbd46cdd987334ee7674abfa6325cdd7e13f | |
| parent | dcce5db8a653a099d3c9a18cb84baa7b989199fd (diff) | |
| download | caxlsx-2f2264dd98595cc71b8fd2df15490de8de57265a.tar.gz caxlsx-2f2264dd98595cc71b8fd2df15490de8de57265a.zip | |
Actual fix for older rubies
| -rw-r--r-- | test/tc_package.rb | 24 |
1 files changed, 9 insertions, 15 deletions
diff --git a/test/tc_package.rb b/test/tc_package.rb index 1574c8b8..628d20ae 100644 --- a/test/tc_package.rb +++ b/test/tc_package.rb @@ -165,21 +165,15 @@ class TestPackage < Test::Unit::TestCase end def capture_warnings(&block) - # Only capture warnings on versions of ruby that expose `:define_method` as - # a public method - if Kernel.respond_to?(:define_method) - original_warn = Kernel.method(:warn) - warnings = [] - Kernel.define_method(:warn){ |string| warnings << string } - block.call - original_verbose = $VERBOSE - $VERBOSE = nil - Kernel.define_method(:warn, &original_warn) - $VERBOSE = original_verbose - warnings - else - &block.call - end + original_warn = Kernel.method(:warn) + warnings = [] + Kernel.send(:define_method, :warn) { |string| warnings << string } + block.call + original_verbose = $VERBOSE + $VERBOSE = nil + Kernel.send(:define_method, :warn, &original_warn) + $VERBOSE = original_verbose + warnings end # See comment for Package#zip_entry_for_part |
