Module: Rake::FileUtilsExt
| Relationships & Source Files | |
| Extension / Inclusion / Inheritance Descendants | |
| Extended In: | |
| Included In: 
        DSL,
          MakefileLoader,
          PackageTask,
          Rake::RubyForgePublisher,
          SshDirPublisher,
          SshFilePublisher,
          SshFreshDirPublisher,
          TaskLib,
          TestTask
       | |
| Super Chains via Extension / Inclusion / Inheritance | |
| Instance Chain: 
          self,
          ::FileUtils
         | |
| Defined in: | lib/rake/file_utils_ext.rb | 
Overview
FileUtilsExt provides a custom version of the ::FileUtils methods that respond to the #verbose and #nowrite commands.
Constant Summary
- 
    DEFAULT =
    
 # File 'lib/rake/file_utils_ext.rb', line 16Object.new 
::FileUtils - Included
Class Attribute Summary
- .nowrite_flag rw
- .verbose_flag rw
Instance Method Summary
- 
    
      #nowrite(value = nil)  
    
    Get/set the nowrite flag controlling output from the ::FileUtils utilities. 
- 
    
      #rake_check_options(options, *optdecl)  
    
    Check that the options do not contain options not listed in optdecl.
- 
    
      #rake_merge_option(args, defaults)  
    
    Merge the given options with the default values. 
- 
    
      #rake_output_message(message)  
    
    Send the message to the default rake output (which is $stderr). 
- 
    
      #verbose(value = nil)  
    
    Get/set the verbose flag controlling output from the ::FileUtils utilities. 
- 
    
      #when_writing(msg = nil)  
    
    Use this function to prevent potentially destructive ruby code from running when the :nowriteflag is set.
::FileUtils - Included
| #ruby | Run a Ruby interpreter with the given arguments. | 
| #safe_ln | Attempt to do a normal file link, but fall back to a copy if the link fails. | 
| #sh | Run the system command  | 
| #split_all | Split a file path into individual directory names. | 
Class Attribute Details
.nowrite_flag (rw)
[ GitHub ]# File 'lib/rake/file_utils_ext.rb', line 13
attr_accessor :verbose_flag, :nowrite_flag
.verbose_flag (rw)
[ GitHub ]# File 'lib/rake/file_utils_ext.rb', line 13
attr_accessor :verbose_flag, :nowrite_flag
Instance Method Details
#nowrite(value = nil)
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 'lib/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
#rake_check_options(options, *optdecl)
Check that the options do not contain options not listed in optdecl.  An ArgumentError exception is thrown if non-declared options are found.
# File 'lib/rake/file_utils_ext.rb', line 133
def (, *optdecl) h = .dup optdecl.each do |name| h.delete name end raise ArgumentError, "no such option: #{h.keys.join(' ')}" unless h.empty? end
#rake_merge_option(args, defaults)
Merge the given options with the default values.
# File 'lib/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
#rake_output_message(message)
Send the message to the default rake output (which is $stderr).
# File 'lib/rake/file_utils_ext.rb', line 126
def () $stderr.puts() end
#verbose(value = nil)
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 'lib/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
#when_writing(msg = nil)
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
endThe following code will build the project under normal conditions. If the nowrite(true) flag is set, then the example will print:
DRYRUN: Building Projectinstead of actually building the project.
# File 'lib/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