]> gitweb @ CieloNegro.org - task-reporter.git/blobdiff - src/main/scala/jp/ymir/taskReporter/core/Task.scala
adopt the new format
[task-reporter.git] / src / main / scala / jp / ymir / taskReporter / core / Task.scala
index 71526941fd34099dc8785f03afe331ba8f5bdeae..d6ed1d89677d2b4fd941654f4353450c380f9af6 100644 (file)
@@ -21,10 +21,9 @@ object Task {
 
   sealed abstract class Status
   object Status {
-    case object DoingFine       extends Status { override def toString() = "順調"     }
-    case object Lagging         extends Status { override def toString() = "遅延"     }
-    case object DeadlineChanged extends Status { override def toString() = "期限変更" }
-    case object Completed       extends Status { override def toString() = "完了"     }
+    case object DoingFine extends Status { override def toString() = "順調"}
+    case object Lagging   extends Status { override def toString() = "遅延"}
+    case object Completed extends Status { override def toString() = "完了"}
   }
 
   implicit val CalendarFromField = new FromField[Calendar] {
@@ -40,10 +39,9 @@ object Task {
 
   implicit val StatusFromField = new FromField[Status] {
     def parseField(f: Field): Parser[Status] = f.value match {
-      case "順調"     => (Status.DoingFine:       Status).point[Parser]
-      case "遅延"     => (Status.Lagging:         Status).point[Parser]
-      case "期限変更" => (Status.DeadlineChanged: Status).point[Parser]
-      case "完了"     => (Status.Completed:       Status).point[Parser]
+      case "順調" => (Status.DoingFine: Status).point[Parser]
+      case "遅延" => (Status.Lagging:   Status).point[Parser]
+      case "完了" => (Status.Completed: Status).point[Parser]
       case _ =>
         ("invalid status: " + f).raiseError[Status]
     }
@@ -53,12 +51,12 @@ object Task {
     def parseRecord(r: Record): Parser[Task] =
       for {
         date                   <- r.lookup[Calendar        ]('報告日)
-        ticketID               <- r.lookup[Option[Int]     ]('チケットID)
+        ticketID               <- r.lookup[Option[Int]     ]('チケットID, "")
         title                  <- r.lookup[String          ]('作業名)
         expectedCompletionDate <- r.lookup[Calendar        ]('作業完了予定年月日)
-        deadline               <- r.lookup[Option[Calendar]]('タスク期限)
+        deadline               <- r.lookup[Option[Calendar]]('タスク期限, "")
         status                 <- r.lookup[Status          ]('状態)
-        description            <- r.lookup[Option[String]  ]('説明).handleError(_ => None.point[Parser])
+        description            <- r.lookup[Option[String]  ]('説明, "")
       }
       yield Task(date, ticketID, title, expectedCompletionDate,
                  deadline, status, description)