class Fulmar::RingBuffer

Attributes

max_size[R]

Public Class Methods

new(max_size, enum = nil) click to toggle source
# File lib/fulmar/ringbuffer.rb, line 5
def initialize(max_size, enum = nil)
  @max_size = max_size
  enum.each { |e| self << e } if enum
end

Public Instance Methods

<<(el) click to toggle source
Calls superclass method
# File lib/fulmar/ringbuffer.rb, line 10
def <<(el)
  if self.size < @max_size || @max_size.nil?
    super
  else
    self.shift
    self.push(el)
  end
end
Also aliased as: push
push(el)
Alias for: <<