class Pwrake::NoActionQueue

Public Class Methods

new() click to toggle source
# File lib/pwrake/queue/no_action_queue.rb, line 5
def initialize
  @que = []
  prio = Rake.application.pwrake_options['NOACTION_QUEUE_PRIORITY'] || 'fifo'
  case prio
  when /fifo/i
    @prio = 0
    Log.debug "NOACTION_QUEUE_PRIORITY=FIFO"
  when /lifo/i
    @prio = 1
    Log.debug "NOACTION_QUEUE_PRIORITY=LIFO"
  when /rand/i
    @prio = 2
    Log.debug "NOACTION_QUEUE_PRIORITY=RAND"
  else
    raise RuntimeError,"unknown option for NOACTION_QUEUE_PRIORITY: "+prio
  end
end

Public Instance Methods

<<(obj)
Alias for: push
clear() click to toggle source
# File lib/pwrake/queue/no_action_queue.rb, line 48
def clear
  @que.clear
end
deq()
Alias for: pop
empty?() click to toggle source
# File lib/pwrake/queue/no_action_queue.rb, line 44
def empty?
  @que.empty?
end
enq(obj)
Alias for: push
first() click to toggle source
# File lib/pwrake/queue/no_action_queue.rb, line 57
def first
  @que.first
end
last() click to toggle source
# File lib/pwrake/queue/no_action_queue.rb, line 61
def last
  @que.last
end
length() click to toggle source
# File lib/pwrake/queue/no_action_queue.rb, line 52
def length
  @que.length
end
Also aliased as: size
pop() click to toggle source
# File lib/pwrake/queue/no_action_queue.rb, line 30
def pop
  case @prio
  when 0
    @que.shift
  when 1
    @que.pop
  when 2
    @que.delete_at(rand(@que.size))
  end
end
Also aliased as: shift, deq
push(obj) click to toggle source
# File lib/pwrake/queue/no_action_queue.rb, line 23
def push(obj)
  @que.push obj
end
Also aliased as: <<, enq
shift()
Alias for: pop
size()
Alias for: length