class Stdout::Buffered

Constants

MIN_FRAME_LENGTH

Attributes

stdout[R]

Public Class Methods

new(stdout) click to toggle source
# File lib/asciinema/stdout.rb, line 78
def initialize(stdout)
  @stdout = stdout
end

Public Instance Methods

each() { |buffered_delay, join| ... } click to toggle source
# File lib/asciinema/stdout.rb, line 82
def each
  buffered_delay, buffered_data = 0.0, []

  stdout.each do |delay, data|
    if buffered_delay + delay < MIN_FRAME_LENGTH || buffered_data.empty?
      buffered_delay += delay
      buffered_data << data
    else
      yield(buffered_delay, buffered_data.join)
      buffered_delay = delay
      buffered_data = [data]
    end
  end

  yield(buffered_delay, buffered_data.join) unless buffered_data.empty?
end