FileUtilsExt provides a custom version of
the FileUtils methods that respond to the
verbose
and nowrite
commands.
Get/set the nowrite flag controlling output from the FileUtils utilities. If verbose is true, then the utility method is echoed to standard output.
Examples:
nowrite # return the current value of the # nowrite flag nowrite(v) # set the nowrite flag to _v_. nowrite(v) { code } # Execute code with the nowrite flag set # temporarily to _v_. Return to the # original value when code is done.
# File rake/file_utils_ext.rb, line 77 def nowrite(value=nil) oldvalue = FileUtilsExt.nowrite_flag FileUtilsExt.nowrite_flag = value unless value.nil? if block_given? begin yield ensure FileUtilsExt.nowrite_flag = oldvalue end end oldvalue end
Check that the options do not contain options not listed in
optdecl
. An ArgumentError exception is thrown if non-declared
options are found.
# File rake/file_utils_ext.rb, line 133 def rake_check_options(options, *optdecl) h = options.dup optdecl.each do |name| h.delete name end raise ArgumentError, "no such option: #{h.keys.join(' ')}" unless h.empty? end
Merge the given options with the default values.
# File rake/file_utils_ext.rb, line 116 def rake_merge_option(args, defaults) if Hash === args.last defaults.update(args.last) args.pop end args.push defaults args end
Send the message to the default rake output (which is $stderr).
# File rake/file_utils_ext.rb, line 126 def rake_output_message(message) $stderr.puts(message) end
Get/set the verbose flag controlling output from the FileUtils utilities. If verbose is true, then the utility method is echoed to standard output.
Examples:
verbose # return the current value of the # verbose flag verbose(v) # set the verbose flag to _v_. verbose(v) { code } # Execute code with the verbose flag set # temporarily to _v_. Return to the # original value when code is done.
# File rake/file_utils_ext.rb, line 53 def verbose(value=nil) oldvalue = FileUtilsExt.verbose_flag FileUtilsExt.verbose_flag = value unless value.nil? if block_given? begin yield ensure FileUtilsExt.verbose_flag = oldvalue end end FileUtilsExt.verbose_flag end
Use this function to prevent potentially destructive ruby code from running when the :nowrite flag is set.
Example:
when_writing("Building Project") do project.build end
The following code will build the project under normal conditions. If the nowrite(true) flag is set, then the example will print:
DRYRUN: Building Project
instead of actually building the project.
# File rake/file_utils_ext.rb, line 107 def when_writing(msg=nil) if FileUtilsExt.nowrite_flag $stderr.puts "DRYRUN: #{msg}" if msg else yield end end
Commenting is here to help enhance the documentation. For example, code samples, or clarification of the documentation.
If you have questions about Ruby or the documentation, please post to one of the Ruby mailing lists. You will get better, faster, help that way.
If you wish to post a correction of the docs, please do so, but also file bug report so that it can be corrected for the next release. Thank you.
If you want to help improve the Ruby documentation, please visit Documenting-ruby.org.