# 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