Class: Vedeu::FifoStore

Inherits:
Object
  • Object
show all
Includes:
Store
Defined in:
lib/vedeu/storage/fifo_store.rb

Overview

First-in first-out storage.

in -> [3] -> [2] -> [1] -> out

Instance Method Summary collapse

Methods included from Store

#each, #empty?, #exists?, #reset, #size, #storage

Constructor Details

#initialize(storage = []) ⇒ Vedeu::FifoStore

Parameters:

  • storage (Array) (defaults to: [])


12
13
14
# File 'lib/vedeu/storage/fifo_store.rb', line 12

def initialize(storage = [])
  @storage = storage
end

Instance Method Details

#in_memoryArray (private)

Returns:

  • (Array)


30
31
32
# File 'lib/vedeu/storage/fifo_store.rb', line 30

def in_memory
  []
end

#loadObject

Returns:

  • (Object)


17
18
19
# File 'lib/vedeu/storage/fifo_store.rb', line 17

def load
  storage.pop
end

#save(data) ⇒ Array<Object>

Parameters:

  • data (Object)

Returns:

  • (Array<Object>)


23
24
25
# File 'lib/vedeu/storage/fifo_store.rb', line 23

def save(data)
  storage.unshift(data)
end