Class: Tooled::Queue

Inherits:
Object
  • Object
show all
Includes:
Enumerable
Defined in:
lib/tooled/queue.rb

Instance Method Summary collapse

Constructor Details

#initializeQueue

Returns a new instance of Queue.



8
9
10
# File 'lib/tooled/queue.rb', line 8

def initialize
  @queue_values = []
end

Instance Method Details

#<<(value) ⇒ Object Also known as: push



17
18
19
# File 'lib/tooled/queue.rb', line 17

def <<(value)
  @queue_values << value
end

#[](index) ⇒ Object



30
31
32
# File 'lib/tooled/queue.rb', line 30

def [](index)
  @queue_values[index.to_i]
end

#countObject Also known as: length



12
13
14
# File 'lib/tooled/queue.rb', line 12

def count
  @queue_values.count
end

#each(&block) ⇒ Object



42
43
44
# File 'lib/tooled/queue.rb', line 42

def each(&block)
  yield block.call(pop) until empty?
end

#empty?Boolean

Returns:

  • (Boolean)


38
39
40
# File 'lib/tooled/queue.rb', line 38

def empty?
  @queue_values.empty?
end

#peekObject



22
23
24
# File 'lib/tooled/queue.rb', line 22

def peek
  @queue_values.first
end

#popObject



26
27
28
# File 'lib/tooled/queue.rb', line 26

def pop
  @queue_values.delete_at(0)
end

#to_aObject



34
35
36
# File 'lib/tooled/queue.rb', line 34

def to_a
  @queue_values.reverse.dup
end