Class: Fossilize::RingBuffer
- Inherits:
-
Array
- Object
- Array
- Fossilize::RingBuffer
- Defined in:
- lib/fossilize/ring_buffer.rb
Instance Method Summary collapse
-
#[](offset = 0) ⇒ Object
Access elements in the RingBuffer.
- #array_element ⇒ Object
- #array_push ⇒ Object
-
#initialize(size) ⇒ RingBuffer
constructor
A new instance of RingBuffer.
- #push(element) ⇒ Object
Constructor Details
#initialize(size) ⇒ RingBuffer
Returns a new instance of RingBuffer.
7 8 9 10 |
# File 'lib/fossilize/ring_buffer.rb', line 7 def initialize(size) @ring_size = size super(size) end |
Instance Method Details
#[](offset = 0) ⇒ Object
Access elements in the RingBuffer
offset will be typically negative!
23 24 25 |
# File 'lib/fossilize/ring_buffer.rb', line 23 def [](offset = 0) return self.array_element(- 1 + offset) end |
#array_element ⇒ Object
5 |
# File 'lib/fossilize/ring_buffer.rb', line 5 alias_method :array_element, :[] |
#array_push ⇒ Object
4 |
# File 'lib/fossilize/ring_buffer.rb', line 4 alias_method :array_push, :push |
#push(element) ⇒ Object
12 13 14 15 16 17 |
# File 'lib/fossilize/ring_buffer.rb', line 12 def push(element) if length == @ring_size shift # loose element end array_push element end |