- 更新日: 2016年12月28日
- Ruby
ToDo管理用のフォーマット済みテキストファイルを作成するRubyスクリプト
以前、個人プロジェクトでの Simple is best なタスク管理手法 | EasyRamble で書いた、ToDo管理用のフォーマット済みのテキストファイルを生成する Ruby スクリプトを書きました。
【追記 2016/12/28】
スクリプトに引数を渡せるようにしました。また、うるう年に対応しました。
【追記ここまで】
ToDo管理用テキストファイルのフォーマット
以下のように、元旦から大晦日まで365日分のToDo管理用フォーマットが出力されてファイルが作成されます。私は、1年1ファイルで作成するようにしています。
DailyToDo_2015.txt
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 |
***************** DailyToDo 2015 ***************** - : todo = : doing + : done ************************************************** [2015/01/01 Thursday] [2015/01/02 Friday] [2015/01/03 Saturday] [2015/01/04 Sunday] [2015/01/05 Monday] ... [2015/12/29 Tuesday] [2015/12/30 Wednesday] [2015/12/31 Thursday] |
ファイル生成用のRubyスクリプト
昨年までも使い捨てのスクリプトで作成してた記憶があるのですが、毎年1回は使いますし、ちゃんとしたスクリプトとして残しました。
create_todo_formated_file.rb
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 |
#!/usr/bin/env ruby require "date" def this_year ( ARGV[0] || DateTime.now.year ).to_i end def leap_year? Date.new(this_year).leap? end def last_day leap_year? ? 365 : 364 end TODO_FILE_BASENAME = "DailyToDo" gantan = DateTime.new(this_year, 1, 1, 0, 0, 0, "+0900") todo_file = "./#{TODO_FILE_BASENAME}_#{this_year}.txt" if File.exist?(todo_file) warn "Todo file was not created. This year's todo file already exists." exit end open(todo_file, "w") do |f| f.write <<EOS ***************** #{TODO_FILE_BASENAME} #{this_year} ***************** - : todo = : doing + : done ************************************************** EOS (0..last_day).each do |d| f.write "[#{(gantan + d).strftime("%Y/%m/%d %A")}]\n\n" end end |
https://gist.github.com/takafumir/6fd1eef86c37faf8fe40
これを毎年正月休みにでも毎年1回実行すればOK。パーミッションを755にして実行すると、ToDo管理用のファイルが作成されます。
1 2 3 |
$ chmod 755 ./create_todo_formated_file.rb |
今年の分を作成する場合は、引数なしで実行させます。
1 2 3 |
$ ./create_todo_format.rb |
任意の年の分を作成する場合には、引数に年を渡して実行します。
1 2 3 |
$ ./create_todo_format.rb 2017 |
ToDoを -, =, + で管理
後は、ToDo を日付に沿って書いてこなしていくだけです。私の場合、以下の3つのステータスで管理する超シンプルなものです。
– : todo(未着手)
= : doing(進行中)
+ : done(完了)
DailyToDo_2015.txt
1 2 3 4 5 6 7 8 |
[2015/01/05 Monday] + task1 + task2 = task3 - task4 ... |
以上です。スクリプトは無保証ですが、ご自由にお使い頂いて構いません。
- Ruby の関連記事
- Gemの作り方(Ruby Gem)
- ローカル開発中のgemをGemfileに書いてインストール
- 熊本地震の余震が夜に多いのは本当か?Rubyプログラムで検証してみた
- El Capitanでgemのnative extensionビルド失敗に対応
- Rubyで親クラスから子クラスの定数を参照
- MacabをRubyで使う
- rbenv/ruby-buildでRuby最新バージョンをインストール
- Rubyでクラスインスタンス変数にインスタンスメソッドからアクセス
- 距離1kmあたりの緯度・経度の度数を計算(日本・北緯35度)
- Google Maps Geocoding APIで住所から緯度・経度を取得するRubyコード
- 初回公開日: 2015年1月5日
Leave Your Message!