class TRecs::ClockTicker
Attributes
delayer[R]
from[R]
player[RW]
speed[R]
to[R]
Public Class Methods
new(options={})
click to toggle source
# File lib/trecs/tickers/clock_ticker.rb, line 9 def initialize(options={}) @delayer = options.fetch(:delayer) { Kernel } @timestamps = options.fetch(:timestamps) { nil } @from = options.fetch(:from) { nil } @to = options.fetch(:to) { nil } @speed = options.fetch(:speed) { 1 } end
Public Instance Methods
start()
click to toggle source
# File lib/trecs/tickers/clock_ticker.rb, line 17 def start prev_time = timestamps.first timestamps.each do |time| sleep(time - prev_time) player.tick(time) prev_time = time end true end
timestamps()
click to toggle source
# File lib/trecs/tickers/clock_ticker.rb, line 27 def timestamps @timestamps ||= player.timestamps if from @timestamps = @timestamps.select { |t| t > from } @timestamps.unshift(from) end if to && to > 0 @timestamps = @timestamps.select { |t| t < to } @timestamps.push(to) end @timestamps end
to_s()
click to toggle source
# File lib/trecs/tickers/clock_ticker.rb, line 40 def to_s "<#{self.class}>" end
Also aliased as: inspect
Private Instance Methods
sleep(time)
click to toggle source
# File lib/trecs/tickers/clock_ticker.rb, line 47 def sleep(time) sleep_time = time / (1000.0 * speed) delayer.sleep(sleep_time) end