From 05ad454f50422f0eab4228e819cbadbe9e6a918a Mon Sep 17 00:00:00 2001 From: Stuart Skelton Date: Fri, 4 Aug 2017 22:02:37 +0100 Subject: Empower the todo_item to set its attributes correctly itself. --- todolist/todo_item.go | 16 ++++++++++++++++ todolist/todo_list.go | 9 ++++----- 2 files changed, 20 insertions(+), 5 deletions(-) diff --git a/todolist/todo_item.go b/todolist/todo_item.go index eecb409..0c30707 100644 --- a/todolist/todo_item.go +++ b/todolist/todo_item.go @@ -45,6 +45,22 @@ func (t *Todo) Uncomplete() { t.CompletedDate = "" } +func (t *Todo) Archive() { + t.Archived = true +} + +func (t *Todo) Unarchive() { + t.Archived = false +} + +func (t *Todo) Prioritize() { + t.IsPriority = true +} + +func (t *Todo) Unprioritize() { + t.IsPriority = false +} + func (t Todo) CompletedDateToDate() string { parsedTime, _ := time.Parse(ISO8601_TIMESTAMP_FORMAT, t.CompletedDate) return parsedTime.Format("2006-01-02") diff --git a/todolist/todo_list.go b/todolist/todo_list.go index 6bab407..a1e9f1c 100644 --- a/todolist/todo_list.go +++ b/todolist/todo_list.go @@ -42,14 +42,14 @@ func (t *TodoList) Uncomplete(id int) { func (t *TodoList) Archive(id int) { todo := t.FindById(id) - todo.Archived = true + todo.Archive() t.Delete(id) t.Data = append(t.Data, todo) } func (t *TodoList) Unarchive(id int) { todo := t.FindById(id) - todo.Archived = false + todo.Unarchive() t.Delete(id) t.Data = append(t.Data, todo) } @@ -62,17 +62,16 @@ func (t *TodoList) IndexOf(todoToFind *Todo) int { } return -1 } - func (t *TodoList) Prioritize(id int) { todo := t.FindById(id) - todo.IsPriority = true + todo.Prioritize() t.Delete(id) t.Data = append(t.Data, todo) } func (t *TodoList) Unprioritize(id int) { todo := t.FindById(id) - todo.IsPriority = false + todo.Unprioritize() t.Delete(id) t.Data = append(t.Data, todo) } -- cgit v1.3 From d59a0986f51e8a09c6c15446f7141acf86d27d41 Mon Sep 17 00:00:00 2001 From: Stuart Skelton Date: Fri, 4 Aug 2017 22:03:43 +0100 Subject: Group similar code together. --- todolist/todo_list.go | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/todolist/todo_list.go b/todolist/todo_list.go index a1e9f1c..4623a22 100644 --- a/todolist/todo_list.go +++ b/todolist/todo_list.go @@ -54,14 +54,6 @@ func (t *TodoList) Unarchive(id int) { t.Data = append(t.Data, todo) } -func (t *TodoList) IndexOf(todoToFind *Todo) int { - for i, todo := range t.Data { - if todo.Id == todoToFind.Id { - return i - } - } - return -1 -} func (t *TodoList) Prioritize(id int) { todo := t.FindById(id) todo.Prioritize() @@ -76,6 +68,15 @@ func (t *TodoList) Unprioritize(id int) { t.Data = append(t.Data, todo) } +func (t *TodoList) IndexOf(todoToFind *Todo) int { + for i, todo := range t.Data { + if todo.Id == todoToFind.Id { + return i + } + } + return -1 +} + type ByDate []*Todo func (a ByDate) Len() int { return len(a) } -- cgit v1.3