class Timelime::Table
Public Class Methods
new()
click to toggle source
# File lib/timelime/table.rb, line 5 def initialize @data = [] @time = [] @tags = [ [], # include [], # exclude ] end
Public Instance Methods
get() { |e| ... }
click to toggle source
# File lib/timelime/table.rb, line 71 def get &block @data.each do |e| yield e end end
push(event)
click to toggle source
# File lib/timelime/table.rb, line 24 def push event # check range if @time.empty? ok = true else ok = false end @time.each do |time| if event.time.match? time ok = true break end end unless ok return false end # check tags if @tags[0].empty? ok = true else ok = false end @tags.each_with_index do |tmp, mode| tmp.each do |tags| if event.tags.has? tags case mode when 0; ok = true when 1; return false end end end end unless ok return false end @data += [event] return true end
range()
click to toggle source
# File lib/timelime/table.rb, line 85 def range min = nil max = nil @data.each do |e| if min.nil? or e.time.data[0] < min min = e.time.data[0] end if max.nil? or e.time.data[-1] > max max = e.time.data[-1] end end [min, max] end
size()
click to toggle source
# File lib/timelime/table.rb, line 77 def size tmp = 0 @data.each do |e| tmp += e.time.size end tmp end
time(t)
click to toggle source
# File lib/timelime/table.rb, line 14 def time(t) t = Timelime::Time.new(t) @time += [t] end