1
0
mirror of https://github.com/jbranchaud/til synced 2026-01-03 07:08:01 +00:00

Add Rake Only Lists Tasks With Descriptions as a ruby til.

This commit is contained in:
jbranchaud
2015-08-07 07:01:20 -07:00
parent ccdfe120d5
commit 07d1b32306
2 changed files with 36 additions and 0 deletions

View File

@@ -120,6 +120,7 @@ smart people at [Hashrocket](http://hashrocket.com/).
- [Passing Arguments To A Rake Task](ruby/passing-arguments-to-a-rake-task.md)
- [Percent Notation](ruby/percent-notation.md)
- [Question Mark Operator](ruby/question-mark-operator.md)
- [Rake Only Lists Tasks With Descriptions](ruby/rake-only-lists-tasks-with-descriptions.md)
- [Squeeze Out The Extra Space](ruby/squeeze-out-the-extra-space.md)
- [Summing Collections](ruby/summing-collections.md)
- [`undef_method` And The Inheritance Hierarchy](ruby/undef-method-and-the-inheritance-hierarchy.md)

View File

@@ -0,0 +1,35 @@
# Rake Only Lists Tasks With Descriptions
Rake describes the `-T` flag as
> Display the tasks (matching optional PATTERN) with descriptions, then exit.
And `rake -T` does just exactly that. It lists all the tasks with
descriptions. Any rake task that you define without a `desc` will not be
included.
Consider the following rake task definitions
```ruby
desc 'foobar does this and that'
task :foobar do
puts 'this and that'
end
task :foobaz do
puts 'not so much'
end
```
This is what I get when listing the rake tasks filtered by _foo_
```bash
$ rake -T foo
rake foobar # foobar does this and that
```
The `foobar` task (which has a description) is listed, but `foobaz` is not.
A hack of sorts to get around this is to use the `-P` flag which will end up
listing all tasks even if they do not have a description (`rake -P | grep
'foo'`).