Navigation Menu

Skip to content

Instantly share code, notes, and snippets.

@ChangJoo-Park
Created February 5, 2018 15:43
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save ChangJoo-Park/86bb3c25e44060953cc3363f1f58cbbb to your computer and use it in GitHub Desktop.
Save ChangJoo-Park/86bb3c25e44060953cc3363f1f58cbbb to your computer and use it in GitHub Desktop.
require "yaml"
class Todo
YAML.mapping(
message: { type: String, nilable: false },
project: { type: String, nilable: true },
created_at: { type: Time, nilable: false, default: Time.now },
updated_at: { type: Time, nilable: false, default: Time.now },
due_to: { type: Time, nilable: true },
done: { type: Bool, nilable: false, default: false }
)
def initialize(message : String, project : String)
@message = ""
@created_at = Time.now
@updated_at = Time.now
@done = false
self.message = message
self.project = project
end
def update(message : String, project : String)
updateTime
@message = message
@project = project
end
def update(message : String)
updateTime
@message = message
end
def toggleDone
updateTime
@done = !@done
end
private def updateTime
@updated_at = Time.now
end
end
class TodoList
end
module TodoApp
class Cli
def start
end
end
end
# Testing Todo class
todo = Todo.new message: "Message", project: "Home"
puts todo
todo.update message: "Hello"
todo.update message: "Hello2", project: "Work"
todo.project
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment