Module | FileUtils
In: | lib/rake.rb

This a FileUtils extension that defines several additional commands to be added to the FileUtils utility functions.

### Methods

ruby safe_ln sh split_all

### Constants

RUBY_EXT | = | ((Config::CONFIG['ruby_install_name'] =~ /\.(com|cmd|exe|bat|rb|sh)$/) ? "" : Config::CONFIG['EXEEXT'])
RUBY | = | File.join( Config::CONFIG['bindir'], Config::CONFIG['ruby_install_name'] + RUBY_EXT). sub(/.*\s.*/m, '"\&"')
LN_SUPPORTED | = | [true]

### Public Instance methods

ruby(*args,&block)

Run a Ruby interpreter with the given arguments.

Example:

      ruby %{-pe '$_.upcase!' <README}

safe_ln(*args)

Attempt to do a normal file link, but fall back to a copy if the link fails.

sh(*cmd, &block)

Run the system command `cmd`. If multiple arguments are given the command is not run with the shell (same semantics as Kernel::exec and Kernel::system).

Example:

      sh %{ls -ltr}

      sh 'ls', 'file with spaces'

      # check exit status after command runs
      sh %{grep pattern file} do |ok, res|
        if ! ok
          puts "pattern not found (status = #{res.exitstatus})"
        end
      end

split_all(path)

Split a file path into individual directory names.

Example:

      split_all("a/b/c") =>  ['a', 'b', 'c']

[Validate]