Class: Bricolage::TaskQueue

Inherits:
Object
  • Object
show all
Defined in:
lib/bricolage/taskqueue.rb

Direct Known Subclasses

FileTaskQueue

Instance Method Summary collapse

Constructor Details

#initializeTaskQueue

Returns a new instance of TaskQueue.



8
9
10
# File 'lib/bricolage/taskqueue.rb', line 8

def initialize
  @queue = []
end

Instance Method Details

#consume_eachObject



28
29
30
31
32
33
34
35
36
37
# File 'lib/bricolage/taskqueue.rb', line 28

def consume_each
  lock
  save
  while task = self.next
    yield task
    deq
  end
ensure
  unlock
end

#deqObject



47
48
49
50
51
# File 'lib/bricolage/taskqueue.rb', line 47

def deq
  task = @queue.shift
  save
  task
end

#each(&block) ⇒ Object



24
25
26
# File 'lib/bricolage/taskqueue.rb', line 24

def each(&block)
  @queue.each(&block)
end

#empty?Boolean

Returns:

  • (Boolean)


12
13
14
# File 'lib/bricolage/taskqueue.rb', line 12

def empty?
  @queue.empty?
end

#enq(task) ⇒ Object



39
40
41
# File 'lib/bricolage/taskqueue.rb', line 39

def enq(task)
  @queue.push task
end

#lockObject



63
64
# File 'lib/bricolage/taskqueue.rb', line 63

def lock
end

#locked?Boolean

Returns:

  • (Boolean)


59
60
61
# File 'lib/bricolage/taskqueue.rb', line 59

def locked?
  false
end

#nextObject



43
44
45
# File 'lib/bricolage/taskqueue.rb', line 43

def next
  @queue.first
end

#queued?Boolean

Returns:

  • (Boolean)


20
21
22
# File 'lib/bricolage/taskqueue.rb', line 20

def queued?
  not empty?
end

#restoreObject



56
57
# File 'lib/bricolage/taskqueue.rb', line 56

def restore
end

#saveObject



53
54
# File 'lib/bricolage/taskqueue.rb', line 53

def save
end

#sizeObject



16
17
18
# File 'lib/bricolage/taskqueue.rb', line 16

def size
  @queue.size
end

#unlockObject



66
67
# File 'lib/bricolage/taskqueue.rb', line 66

def unlock
end

#unlock_helpObject



69
70
71
# File 'lib/bricolage/taskqueue.rb', line 69

def unlock_help
  "[MUST NOT HAPPEN] this message must not be shown"
end