summaryrefslogtreecommitdiff
path: root/lib/fileutils.rb
diff options
context:
space:
mode:
authorJeremy Evans <[email protected]>2019-07-31 12:57:21 -0700
committerHiroshi SHIBATA <[email protected]>2019-09-27 11:39:02 +0900
commit9494ef8b2de3a7224eb85800606e7c046964cbd2 ()
treed7a0a42148a614f23fcdd4a18b6bd2e96b77149d /lib/fileutils.rb
parent02cd42050515b3af67396a25e78d948adcac6cdf (diff)
[ruby/fileutils] Do not break in verbose mode if using FileUtils with a frozen object
If FileUtils is included into another object, and verbose mode is used, a FrozenError is currently raised unless the object has the @fileutils_output and @fileutils_label instance variables. This fixes things so that it does not attempt to set the instance variables, but it still uses them if they are present. https://.com/ruby/fileutils/commit/689cb9c56a
-rw-r--r--lib/fileutils.rb18
1 files changed, 6 insertions, 12 deletions
@@ -1608,13 +1608,13 @@ module FileUtils
end
private_module_function :fu_same?
- @fileutils_output = $stderr
- @fileutils_label = ''
-
def fu_output_message(msg) #:nodoc:
- @fileutils_output ||= $stderr
- @fileutils_label ||= ''
- @fileutils_output.puts @fileutils_label + msg
end
private_module_function :fu_output_message
@@ -1695,8 +1695,6 @@ module FileUtils
#
module Verbose
include FileUtils
- @fileutils_output = $stderr
- @fileutils_label = ''
names = ::FileUtils.collect_method(:verbose)
names.each do |name|
module_eval(<<-EOS, __FILE__, __LINE__ + 1)
@@ -1720,8 +1718,6 @@ module FileUtils
module NoWrite
include FileUtils
include LowMethods
- @fileutils_output = $stderr
- @fileutils_label = ''
names = ::FileUtils.collect_method(:noop)
names.each do |name|
module_eval(<<-EOS, __FILE__, __LINE__ + 1)
@@ -1746,8 +1742,6 @@ module FileUtils
module DryRun
include FileUtils
include LowMethods
- @fileutils_output = $stderr
- @fileutils_label = ''
names = ::FileUtils.collect_method(:noop)
names.each do |name|
module_eval(<<-EOS, __FILE__, __LINE__ + 1)