Method: Thor::Base::ClassMethods#remove_task

Defined in:
lib/thor/base.rb

#remove_task(*names) ⇒ Object

Removes a given task from this Thor class. This is usually done if you are inheriting from another class and don’t want it to be available anymore.

By default it only remove the mapping to the task. But you can supply :undefine => true to undefine the method from the class as well.

Parameters

name<Symbol|String>

The name of the task to be removed

options<Hash>

You can give :undefine => true if you want tasks the method to be undefined from the class as well.



312
313
314
315
316
317
318
319
320
# File 'lib/thor/base.rb', line 312

def remove_task(*names)
  options = names.last.is_a?(Hash) ? names.pop : {}

  names.each do |name|
    tasks.delete(name.to_s)
    all_tasks.delete(name.to_s)
    undef_method name if options[:undefine]
  end
end