Add files to the rakelib list
# File rake-13.0.1/lib/rake/rake_module.rb, line 33
def add_rakelib(*files)
application.options.rakelib ||= []
application.options.rakelib.concat(files)
end
Current Rake Application
# File rake-13.0.1/lib/rake/rake_module.rb, line 8
def application
@application ||= Rake::Application.new
end
Set the current Rake application object.
# File rake-13.0.1/lib/rake/rake_module.rb, line 13
def application=(app)
@application = app
end
Load a rakefile.
# File rake-13.0.1/lib/rake/rake_module.rb, line 28
def load_rakefile(path)
load(path)
end
Return the original directory where the Rake application was started.
# File rake-13.0.1/lib/rake/rake_module.rb, line 23
def original_dir
application.original_dir
end
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 rake-13.0.1/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