要約
タスクを管理するためのモジュールです。
目次
- インスタンスメソッド
インスタンスメソッド
self[task_name, scopes = nil] -> Rake::Task
[permalink][rdoc][edit]-
与えられたタスク名にマッチするタスクを検索します。
- [PARAM] task_name:
- タスク名を指定します。
- [PARAM] scopes:
- スコープを指定します。
# Rakefile での記載例とする task default: :test_rake_app task :test_rake_app do Rake.application["test_rake_app"] # => <Rake::Task test_rake_app => []> end
clear
[permalink][rdoc][edit]-
全てのタスクとルールをクリアします。
# Rakefile での記載例とする task default: :test_rake_app task :test_rake_app do Rake.application.tasks # => [<Rake::Task default => [test_rake_app]>, <Rake::Task test_rake_app => []>] Rake.application.clear # => [] Rake.application.tasks # => [] end
create_rule(*args) { ... }
[permalink][rdoc][edit]-
与えられたパラメータに従ってルールを作成します。
- [PARAM] args:
- ルールに与えるパラメータを指定します。
# Rakefile での記載例とする task default: :test_rake_app task :test_rake_app do rule = Rake.application.create_rule '.txt' => '.md' do |t| "#{t}" end p rule # => [[/\.txt$/, [], [".md"], nil, #<Proc:0x0000558dd2e32d20 /path/to/Rakefile:5>]] end
current_scope -> Array
[permalink][rdoc][edit]-
現在のスコープを返します。
# Rakefile での記載例とする task default: :test_rake_app task :test_rake_app do Rake.application.current_scope # => LL() end
define_task(task_class, *args) { ... } -> Rake::Task
[permalink][rdoc][edit]-
タスクを定義します。
- [PARAM] task_class:
- タスククラスを指定します。
- [PARAM] args:
- タスクに渡すパラメータを指定します。
# Rakefile での記載例とする task default: :test_rake_app task :test_rake_app do Rake.application.define_task(Rake::Task, :t) # => <Rake::Task t => []> end
enhance_with_matching_rule(task_name, level = 0) -> Rake::Task | nil
[permalink][rdoc][edit]-
与えられたタスク名にマッチしたルールが存在する場合は、そのタスクに見つかったルールの事前タスクとアクションを追加して返します。
- [PARAM] task_name:
- タスクの名前を指定します。
- [PARAM] level:
- 現在のルール解決のネストの深さを指定します。
- [EXCEPTION] RuntimeError:
- ルールの解決時にオーバーフローした場合に発生します。
in_namespace(name) {|name_space| ... } -> Array
[permalink][rdoc][edit]-
与えられた名前の名前空間でブロックを評価します。
- [PARAM] name:
- 名前を指定します。
# Rakefile での記載例とする task default: :test_rake_app namespace :sample do def hoge puts "hoge" end end task :test_rake_app do task.application.in_namespace("sample") do hoge # => "hoge" end end
intern(task_class, task_name) -> Rake::Task
[permalink][rdoc][edit]-
タスクを検索します。
タスクが見つかれば見つかったタスクを返します。見つからなければ、与えられた型のタスクを作成して返します。
- [PARAM] task_class:
- タスクのクラスを指定します。
- [PARAM] task_name:
- タスクの名前を指定します。
# Rakefile での記載例とする task default: :test_rake_app task :test_rake_app do |task| task.application.intern(Rake::Task, "test_rake_app") # => <Rake::Task test_rake_app => []> task.application.intern(Rake::Task, "sample_task") # => <Rake::Task sample_task => []> end
last_description -> String
[permalink][rdoc][edit]last_comment -> String
-
Rakefile 内の最新の詳細説明を追跡するためのメソッドです。
# Rakefile での記載例とする task default: :test_rake_app1 desc "test1" task :test_rake_app1 do |task| p task.application.last_description # => "test2" end desc "test2" task :test_rake_app2 do |task| end
last_description=(description)
[permalink][rdoc][edit]-
最新の詳細説明をセットします。
# Rakefile での記載例とする task default: :test_rake_app1 desc "test1" task :test_rake_app1 do |task| task.application.last_description # => "test2" task.application.last_description = "test3" task.application.last_description # => "test3" end desc "test2" task :test_rake_app2 do |task| end
lookup(task_name, initial_scope = nil) -> Rake::Task | nil
[permalink][rdoc][edit]-
与えられたタスク名にマッチするタスクを検索します。
このメソッドは、ファイルタスクやルールを合成せずにタスクを探します。特別なスコープ ('^' など) が存在します。スコープが省略された場合は現在のスコープを使用します。
- [PARAM] task_name:
- タスク名を指定します。
- [PARAM] initial_scope:
- 検索するスコープを指定します。
# Rakefile での記載例とする task default: :test_rake_app task :test_rake_app do |task| task.application.lookup("test_rake_app") # => <Rake::Task test_rake_app => []> end
resolve_args(args) -> Array
[permalink][rdoc][edit]-
タスクやルールに与えられたパラメータを解釈します。
- [PARAM] args:
- パラメータを指定します。
- [RETURN]
- [task_name, arg_name_list, prerequisites] を返します。
synthesize_file_task(task_name) -> Rake::FileTask | nil
[permalink][rdoc][edit]-
与えられたタスク名をもとにファイルタスクを合成します。
- [PARAM] task_name:
- タスク名を指定します。
- [RETURN]
- 与えられたタスク名と同名のファイルが存在する場合は、ファイルタスクを作成して返します。そうでない場合は nil を返します。
- [EXCEPTION] RuntimeError:
- タスクを合成できなかった場合に発生します。
# Rakefile での記載例とする task default: :test_rake_app task :test_rake_app do |task| task.application.synthesize_file_task("sample_file") # => nil IO.write("sample_file", "") task.application.synthesize_file_task("sample_file") # => <Rake::FileTask sample_file => []> end
tasks -> Array
[permalink][rdoc][edit]-
全てのタスクリストを返します。
# Rakefile での記載例とする require 'pp' task default: :test_rake_app2 task :test_rake_app1 do |task| end task :test_rake_app2 do |task| pp task.application.tasks # => [<Rake::Task default => [test_rake_app2]>, # <Rake::Task test_rake_app1 => []>, # <Rake::Task test_rake_app2 => []>] end