class Adrian::Queue
Public Class Methods
new(options = {})
click to toggle source
# File lib/adrian/queue.rb, line 13 def initialize(options = {}) @options = options end
Public Instance Methods
length()
click to toggle source
# File lib/adrian/queue.rb, line 47 def length raise "#{self.class.name}#length is not defined" end
max_age()
click to toggle source
# File lib/adrian/queue.rb, line 35 def max_age @max_age ||= @options[:max_age] end
pop()
click to toggle source
# File lib/adrian/queue.rb, line 17 def pop item = pop_item item.queue = self if item verify_age!(item) end
pop_item()
click to toggle source
# File lib/adrian/queue.rb, line 39 def pop_item raise "#{self.class.name}#pop_item is not defined" end
push(item)
click to toggle source
# File lib/adrian/queue.rb, line 23 def push(item) push_item(item) end
push_item(item)
click to toggle source
# File lib/adrian/queue.rb, line 43 def push_item(item) raise "#{self.class.name}#push_item is not defined" end
verify_age!(item)
click to toggle source
# File lib/adrian/queue.rb, line 27 def verify_age!(item) if item && max_age && item.age > max_age raise ItemTooOldError.new(item, self) end item end