Tbpgr Blog

Employee Experience Engineer tbpgr(てぃーびー) のブログ

Todoをjsonに変換|2012/02/13更新

概要

TTMプロジェクトのストーリーカード「Todoをjsonに変換」について。

ユーザーストーリー/Todoをjsonに変換

以下のタスクに分割します。

  • ▼TODOをjsonに変換する(正常系)
  • ▼TODOをjsonに変換する(異常系)
  • ▼デイリーをjsonに変換する(正常系)
  • ▼デイリーをjsonに変換する(異常系)
  • ▼マンスリーをjsonに変換する(正常系)
  • ▼マンスリーをjsonに変換する(異常系)
  • ▼ファイルからマンスリーを取得し、jsonに変換し、ファイルに出力する(正常系)

▼・・・完了
▲・・・実装中

▼TODOをjsonに変換する

■設計
TODOのフォーマット

タスク|見積|開始時間-終了時間|実績時間

実例

準備[アクティビティのコミット,メールチェック]|1|2012/02/06 09:01:28|2012/02/06 09:08:34|0時間7分6秒

上記の内容を以下のjson書式に変換する

	"todo":{
		"task":"タスク",
		"estimate":"見積",
		"actualResultsTime":"実績時間"
	}

■テストの作成
test_todo_2_json.rb

■製造
todo_2_json.rb

デイリーをjsonに変換する

■設計
デイリーのフォーマット

実施日
TODD1
TODD2
TODD3

実例

2012/02/08
タスク1|見積1|開始時間1|終了時間1|実績時間1
タスク2|見積2|開始時間2|終了時間2|実績時間2
タスク3|見積3|開始時間3|終了時間3|実績時間3

上記の内容を以下のjson書式に変換する

	[
		{"date":"2012/02/08"},
		[
			{
				"todo":{
				"task":"タスク1",
				"estimate":"見積1",
				"actualResultsTime":"実績時間1"
				}
			},
			{
				"todo":{
					"task":"タスク2",
					"estimate":"見積2",
					"actualResultsTime":"実績時間2"
				}
			},
			{
				"todo":{
					"task":"タスク3",
					"estimate":"見積3",
					"actualResultsTime":"実績時間3"
				}
			}
		]
	]
▼マンスリーをjsonに変換する

■設計
マンスリーのフォーマット

■実施日1
TODD1-1
■実施日2
TODD2-1
■実施日3
TODD3-1

実例

■2012/02/08
タスク0208-1|見積0208-1|開始時間0208-1|終了時間0208-1|実績時間0208-1
■2012/02/09
タスク0209-1|見積0209-1|開始時間0209-1|終了時間0209-1|実績時間0209-1
■2012/02/10
タスク0210-1|見積0210-1|開始時間0210-1|終了時間0210-1|実績時間0210-1

上記の内容を以下のjson書式に変換する

[
	[
		{"date":"2012/02/08"},
		[
			{
				"todo":{
				"task":"タスク0208-1",
				"estimate":"見積0208-1",
				"actualResultsTime":"実績時間0208-1"
				}
			}
		]
	],
	[
		{"date":"2012/02/09"},
		[
			{
				"todo":{
				"task":"タスク0209-1",
				"estimate":"見積0209-1",
				"actualResultsTime":"実績時間0209-1"
				}
			}
		]
	],
	[
		{"date":"2012/02/10"},
		[
			{
				"todo":{
				"task":"タスク0210-1",
				"estimate":"見積0210-1",
				"actualResultsTime":"実績時間0210-1"
				}
			}
		]
	]
]
▼マンスリーをjsonに変換し、ファイルに出力する

■設計

jsonの確認

以下URLを利用して確認すること

http://jsonlint.com/

TIPS

行末の改行文字を削除
文字列変数.chomp!