Class: WorkingClass::Task
- Inherits:
-
Object
- Object
- WorkingClass::Task
- Defined in:
- lib/working_class/task.rb
Overview
A basic represantation of a Task
Instance Attribute Summary collapse
-
#date ⇒ Date
readonly
the day the task is due.
-
#is_finished ⇒ Boolean
(also: #is_finished?, #finished?)
readonly
true if the task is finished.
-
#name ⇒ String
readonly
the task name.
-
#reminder ⇒ DateTime
readonly
a DateTime with a reminder.
Instance Method Summary collapse
-
#initialize(name, options = {}) ⇒ Task
constructor
Initializes a new task object with a name, and options.
-
#is_tomorrow ⇒ Boolean
(also: #is_tomorrow?, #tomorrow?)
Returns true if the task is due tomorrow.
-
#is_upcoming ⇒ Boolean
(also: #is_upcoming?, #upcoming?)
Returns true if the task is upcoming.
Constructor Details
#initialize(name, options = {}) ⇒ Task
Initializes a new task object with a name, and options
28 29 30 31 32 33 34 |
# File 'lib/working_class/task.rb', line 28 def initialize name, = {} = {is_finished: false, date: nil, reminder: nil}.merge() @name = name @is_finished = [:is_finished] @date = [:date] @reminder = [:reminder] end |
Instance Attribute Details
#date ⇒ Date (readonly)
the day the task is due
9 10 11 |
# File 'lib/working_class/task.rb', line 9 def date @date end |
#is_finished ⇒ Boolean (readonly) Also known as: is_finished?, finished?
true if the task is finished
9 10 11 |
# File 'lib/working_class/task.rb', line 9 def is_finished @is_finished end |
#name ⇒ String (readonly)
the task name
9 10 11 |
# File 'lib/working_class/task.rb', line 9 def name @name end |
#reminder ⇒ DateTime (readonly)
a DateTime with a reminder
9 10 11 |
# File 'lib/working_class/task.rb', line 9 def reminder @reminder end |
Instance Method Details
#is_tomorrow ⇒ Boolean Also known as: is_tomorrow?, tomorrow?
TODO:
add example
TODO:
add example
Returns true if the task is due tomorrow
A Task without a date is always due tomorrow. A finished task is never due tomorrow.
67 68 69 70 71 72 73 74 75 |
# File 'lib/working_class/task.rb', line 67 def is_tomorrow if @is_finished false elsif date.nil? true else Date.today + 1 == @date end end |
#is_upcoming ⇒ Boolean Also known as: is_upcoming?, upcoming?
TODO:
add example
TODO:
add example
Returns true if the task is upcoming
A Task without a date is always upcoming. A finished task is never upcoming.
45 46 47 48 49 50 51 52 53 |
# File 'lib/working_class/task.rb', line 45 def is_upcoming if @is_finished false elsif !@date.nil? Date.today <= @date else true end end |