rake todo:list

恥ずかしい修正漏れをしたので作りました。
なぜかrak必須。

namespace :todo do
  desc 'show todo list'
  task :list do
    ['app', 'lib', 'config'].each{|path| rak_todo path}
  end
end

def rak_todo(path)
  fullpath = "#{File.dirname(__FILE__)}/../../#{path}"
  print `rak TODO "#{fullpath}"`.gsub(%r{^.*?\.\./\.\./(#{path}/.*)}, '\1')
end

ちょうてきとうな実装。

lib/tasks下に置いて

rake todo:list

でTODOと言う文字列を含む行をリストします。