class Sidekiq::RingBuffer

This module is part of Sidekiq core and not intended for extensions.

Public Class Methods

new(size, default = 0) click to toggle source
# File lib/sidekiq/util.rb, line 18
def initialize(size, default = 0)
  @size = size
  @buf = Array.new(size, default)
  @index = 0
end

Public Instance Methods

<<(element) click to toggle source
# File lib/sidekiq/util.rb, line 24
def <<(element)
  @buf[@index % @size] = element
  @index += 1
  element
end
buffer() click to toggle source
# File lib/sidekiq/util.rb, line 30
def buffer
  @buf
end
reset(default = 0) click to toggle source
# File lib/sidekiq/util.rb, line 34
def reset(default = 0)
  @buf.fill(default)
end