Module: Vedeu::VirtualBuffer

Extended by:
VirtualBuffer
Included in:
VirtualBuffer
Defined in:
lib/vedeu/output/virtual_buffer.rb

Overview

Store and retrieve virtual terminals.

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.clearArray Also known as: reset

Destroy all virtual buffers currently stored.

Returns:

  • (Array)


33
34
35
# File 'lib/vedeu/output/virtual_buffer.rb', line 33

def clear
  @storage = in_memory
end

.in_memoryArray (private)

Returns an empty collection ready for the storing of virtual buffers.

Returns:

  • (Array)


50
51
52
# File 'lib/vedeu/output/virtual_buffer.rb', line 50

def in_memory
  []
end

.retrieveArray<Array<Vedeu::Char>>|NilClass

Fetch the oldest stored virtual buffer first.

Returns:



12
13
14
# File 'lib/vedeu/output/virtual_buffer.rb', line 12

def retrieve
  storage.pop
end

.sizeFixnum

Return the number of virtual buffers currently stored.

Returns:



26
27
28
# File 'lib/vedeu/output/virtual_buffer.rb', line 26

def size
  storage.size
end

.storageArray (private)

Access to the storage for this repository.

Returns:

  • (Array)


43
44
45
# File 'lib/vedeu/output/virtual_buffer.rb', line 43

def storage
  @storage ||= in_memory
end

.store(data) ⇒ Array<Array<Vedeu::Char>>

Store a new virtual buffer.

Returns:



19
20
21
# File 'lib/vedeu/output/virtual_buffer.rb', line 19

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

Instance Method Details

#clearArray Also known as: reset

Destroy all virtual buffers currently stored.

Returns:

  • (Array)


33
34
35
# File 'lib/vedeu/output/virtual_buffer.rb', line 33

def clear
  @storage = in_memory
end

#in_memoryArray (private)

Returns an empty collection ready for the storing of virtual buffers.

Returns:

  • (Array)


50
51
52
# File 'lib/vedeu/output/virtual_buffer.rb', line 50

def in_memory
  []
end

#retrieveArray<Array<Vedeu::Char>>|NilClass

Fetch the oldest stored virtual buffer first.

Returns:



12
13
14
# File 'lib/vedeu/output/virtual_buffer.rb', line 12

def retrieve
  storage.pop
end

#sizeFixnum

Return the number of virtual buffers currently stored.

Returns:



26
27
28
# File 'lib/vedeu/output/virtual_buffer.rb', line 26

def size
  storage.size
end

#storageArray (private)

Access to the storage for this repository.

Returns:

  • (Array)


43
44
45
# File 'lib/vedeu/output/virtual_buffer.rb', line 43

def storage
  @storage ||= in_memory
end

#store(data) ⇒ Array<Array<Vedeu::Char>>

Store a new virtual buffer.

Returns:



19
20
21
# File 'lib/vedeu/output/virtual_buffer.rb', line 19

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