class Toji::Progress::Builder
Public Class Methods
new(progress_cls, state_cls)
click to toggle source
# File lib/toji/progress/builder.rb, line 5 def initialize(progress_cls, state_cls) @progress_cls = progress_cls @state_cls = state_cls @states = [] @date_line = 0 @prefix_day_labels = nil end
Public Instance Methods
<<(state)
click to toggle source
# File lib/toji/progress/builder.rb, line 13 def <<(state) @states += [state].flatten.map {|state| if State===state state else @state_cls.create(state) end } self end
Also aliased as: add
build()
click to toggle source
# File lib/toji/progress/builder.rb, line 35 def build progress = @progress_cls.new states = @states.map{|s| s.progress = progress s }.sort_by(&:time) progress.states = states progress.date_line = @date_line if progress.respond_to?(:prefix_day_labels=) progress.prefix_day_labels = @prefix_day_labels end progress end
date_line(val, unit=SECOND)
click to toggle source
# File lib/toji/progress/builder.rb, line 25 def date_line(val, unit=SECOND) @date_line = (val * unit).to_i self end
prefix_day_labels(val)
click to toggle source
# File lib/toji/progress/builder.rb, line 30 def prefix_day_labels(val) @prefix_day_labels = val self end