class Kronos::Task
Attributes
block[R]
id[R]
Public Class Methods
new(id, timestamp, block)
click to toggle source
# File lib/kronos/task.rb, line 7 def initialize(id, timestamp, block) @id = check_id(id) @timestamp = timestamp time # check timestamp parseability @block = check_block(block) end
Public Instance Methods
time()
click to toggle source
# File lib/kronos/task.rb, line 14 def time Chronic.parse(@timestamp) || raise_unrecognized_time_format rescue StandardError raise_unrecognized_time_format end
Private Instance Methods
check_block(block)
click to toggle source
# File lib/kronos/task.rb, line 26 def check_block(block) block.is_a?(Proc) ? block : raise_invalid_argument('block', block, Proc) end
check_id(id)
click to toggle source
# File lib/kronos/task.rb, line 22 def check_id(id) id.is_a?(Symbol) ? id : raise_invalid_argument('Task ID', id, Symbol) end
raise_invalid_argument(name, received, expectation)
click to toggle source
# File lib/kronos/task.rb, line 30 def raise_invalid_argument(name, received, expectation) raise(ArgumentError, "Invalid #{name} given (#{received.class}). #{expectation} expected.") end
raise_unrecognized_time_format()
click to toggle source
# File lib/kronos/task.rb, line 34 def raise_unrecognized_time_format raise(Kronos::Exception::UnrecognizedTimeFormat) end