class Haora::Task
Attributes
project[R]
start[R]
stop[R]
text[R]
Public Class Methods
new(params = {})
click to toggle source
# File lib/haora/task.rb, line 6 def initialize(params = {}) @start = params[:start] ? Timestamp.new(literal: params[:start]) : Timestamp.now @stop = params[:stop] ? Timestamp.new(literal: params[:stop]) : nil @project = Project.by(name: params[:project]) @text = params[:text] || '' end
Public Instance Methods
<=>(other)
click to toggle source
# File lib/haora/task.rb, line 38 def <=>(other) @start.to_minutes <=> other.start.to_minutes end
duration()
click to toggle source
# File lib/haora/task.rb, line 29 def duration (@stop.nil? ? Timestamp.now : @stop) - @start end
gap(params)
click to toggle source
# File lib/haora/task.rb, line 33 def gap(params) next_task = params[:to_next] next_task.start - @stop end
open?()
click to toggle source
# File lib/haora/task.rb, line 25 def open? @stop.nil? end
project=(project)
click to toggle source
# File lib/haora/task.rb, line 13 def project=(project) if project.is_a? String @project = Project.by(name: project) else @project = project end end
stop_at(timestamp)
click to toggle source
# File lib/haora/task.rb, line 42 def stop_at(timestamp) if timestamp.is_a? String @stop = Timestamp.new(literal: timestamp) else @stop = timestamp end end
text=(text)
click to toggle source
# File lib/haora/task.rb, line 21 def text=(text) @text = text ||'' end
to_s()
click to toggle source
# File lib/haora/task.rb, line 50 def to_s '%s - %s : %s : %s' % [@start, @stop, @project.name, @text] end