Module: Rake::DSL

Defined in:
lib/hem/lib/patches/rake.rb

Instance Method Summary collapse

Instance Method Details

#before(task_name, new_tasks = nil, &new_task) ⇒ Object



3
4
5
6
7
8
9
10
11
12
13
# File 'lib/hem/lib/patches/rake.rb', line 3

def before(task_name, new_tasks = nil, &new_task)
  task_name = task_name.to_s
  new_tasks = [new_tasks].flatten.compact
  old_task = Rake.application.instance_variable_get('@tasks').delete(task_name)

  Hem::Metadata.to_store task_name
  task task_name => new_tasks | old_task.prerequisites do
    yield unless new_task.nil?
    old_task.invoke
  end
end