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