module Rake

Constants

CommandLineOptionError
EARLY
LATE
RakeFileUtils
VERSION

Public Class Methods

add_rakelib(*files) click to toggle source

Add files to the rakelib list

# File lib/rake/rake_module.rb, line 33
def add_rakelib(*files)
  application.options.rakelib ||= []
  application.options.rakelib.concat(files)
end
application() click to toggle source

Current Rake Application

# File lib/rake/rake_module.rb, line 8
def application
  @application ||= Rake::Application.new
end
application=(app) click to toggle source

Set the current Rake application object.

# File lib/rake/rake_module.rb, line 13
def application=(app)
  @application = app
end
load_rakefile(path) click to toggle source

Load a rakefile.

# File lib/rake/rake_module.rb, line 28
def load_rakefile(path)
  load(path)
end
original_dir() click to toggle source

Return the original directory where the Rake application was started.

# File lib/rake/rake_module.rb, line 23
def original_dir
  application.original_dir
end
with_application(block_application = Rake::Application.new) { |block_application| ... } click to toggle source

Make block_application the default rake application inside a block so you can load rakefiles into a different application.

This is useful when you want to run rake tasks inside a library without running rake in a sub-shell.

Example:

Dir.chdir 'other/directory'

other_rake = Rake.with_application do |rake|
  rake.load_rakefile
end

puts other_rake.tasks
# File lib/rake/rake_module.rb, line 54
def with_application(block_application = Rake::Application.new)
  orig_application = Rake.application

  Rake.application = block_application

  yield block_application

  block_application
ensure
  Rake.application = orig_application
end