aboutsummaryrefslogtreecommitdiffstats
path: root/lib/rake/rake_module.rb
blob: 6f77d1b674c02195c891ab22d83188541c5523a3 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
require 'rake/application'

module Rake

  # Rake module singleton methods.
  #
  class << self
    # Current Rake Application
    def application
      @application ||= Rake::Application.new
    end

    # Set the current Rake application object.
    def application=(app)
      @application = app
    end

    # Return the original directory where the Rake application was started.
    def original_dir
      application.original_dir
    end

    # Load a rakefile.
    def load_rakefile(path)
      load(path)
    end

    # Add files to the rakelib list
    def add_rakelib(*files)
      application.options.rakelib ||= []
      files.each do |file|
        application.options.rakelib << file
      end
    end

    # Get a sorted list of files matching the pattern. This method
    # should be prefered to Dir[pattern] and Dir.glob[pattern] because
    # the files returned are guaranteed to be sorted.
    def glob(pattern, *args)
      Dir.glob(pattern, *args).sort
    end
  end

end