class Rake::Application

要約

Rake で使用するメインのクラスです。

コマンドラインで rake コマンドを実行した時に作成され、実行されます。

目次

インスタンスメソッド
定数

継承しているメソッド

Rake::TaskManagerから継承しているメソッド

インスタンスメソッド

add_loader(ext, loader)[permalink][rdoc]

与えられた拡張子で終わるファイル名のファイルをロードするためのローダーを自身に追加します。

[PARAM] ext:
拡張子を指定します。
[PARAM] loader:
ローダーを指定します。


require "rake/loaders/makefile"

# Rakefile での記載例とする

task default: :test
task :test

makefile =<<-EOS
<< <<-'SAMPLE_MF'
# Comments
a: a1 a2 a3 a4
EOS
IO.write("sample.mf", makefile)
Rake.application.add_loader("mf", Rake::MakefileLoader.new)
Rake.application.add_import("sample.mf")
Rake::Task.task_defined?("a") # => false
Rake.application.load_imports
Rake::Task.task_defined?("a") # => true
init(app_name = 'rake')[permalink][rdoc]

コマンドラインオプションとアプリケーション名を初期化します。



# Rakefile での記載例とする

task default: :test
task :test

Rake.application.name # => "rake"
Rake.application.init("MyApp") # => ["default"]
Rake.application.name # => "MyApp"
load_rakefile[permalink][rdoc]

Rakefile を探してロードします。

name -> String[permalink][rdoc]

アプリケーションの名前を返します。通常は 'rake' という名前を返します。


# Rakefile での記載例とする

task default: :test_rake_app
task :test_rake_app do
  Rake.application.name # => "rake"
end
options -> OpenStruct[permalink][rdoc]

コマンドラインで与えられたアプリケーションのオプションを返します。


# Rakefile での記載例とする

task default: :test_rake_app
task :test_rake_app do
  Rake.application.options  # => #<OpenStruct always_multitask=false, backtrace=false, build_all=false, dryrun=false, ignore_deprecate=false, ignore_system=false, job_stats=false, load_system=false, nosearch=false, rakelib=["rakelib"], show_all_tasks=false, show_prereqs=false, show_task_pattern=nil, show_tasks=nil, silent=false, suppress_backtrace_pattern=nil, thread_pool_size=8, trace=false, trace_output=#<IO:<STDERR>>, trace_rules=false>
end
original_dir -> String[permalink][rdoc]

rake コマンドを実行したディレクトリを返します。


# Rakefile での記載例とする

task default: :test_rake_app
task :test_rake_app do
  Rake.application.original_dir # => "/path/to/dir"
end
rakefile -> String[permalink][rdoc]

実際に使用されている Rakefile の名前を返します。


# Rakefile での記載例とする

task default: :test_rake_app
task :test_rake_app do
  Rake.application.rakefile # => "Rakefile"
end
run[permalink][rdoc]

Rake アプリケーションを実行します。

このメソッドは以下の 3 ステップを実行します。

top_level[permalink][rdoc]

Rake アプリケーションに与えられたトップレベルのタスク (コマンドラインで指定されたタスク) を実行します。


# Rakefile での記載例とする

task default: :test1
task :test1
task :test2 do
  puts "test2"
end

# rake test2 で実行
Rake.application.top_level

# => "test2"
top_level_tasks -> Array[permalink][rdoc]

コマンドラインで指定されたタスクのリストを返します。


# Rakefile での記載例とする

task default: :test_rake_app
task :test_rake_app do
  Rake.application.top_level_tasks # => ["default"]
end
tty_output=(tty_output_state)[permalink][rdoc]

TTY に対する出力状態を上書きします。

大抵の場合、テストのために使用します。

[PARAM] tty_output_state:
変更後の状態を指定します

# Rakefile での記載例とする

task default: :test_rake_app
task :test_rake_app do
  Rake.application.tty_output?                 # => false
  Rake.application.tty_output = "debug output" # => "debug output"
  Rake.application.tty_output?                 # => "debug output"
end

定数

DEFAULT_RAKEFILES -> Array[permalink][rdoc]

デフォルトで Rakefile として扱うファイル名の配列を返します。

'rakefile', 'Rakefile', 'rakefile.rb', 'Rakefile.rb' が指定されています。