class Que
Attributes
max_size[R]
Public Class Methods
new(data = {})
click to toggle source
# File lib/que.rb, line 8 def initialize(data = {}) raise Error if !valid_number(data[:size]) && data[:size] @max_size = get_number(data[:size]) || $DEFAULT_QUE_SIZE @list = Queue.new push_list(data[:list]) if data[:list] rescue => e e.init_failed(self.class) end
Public Instance Methods
clear()
click to toggle source
# File lib/que.rb, line 33 def clear @list.clear end
display()
click to toggle source
# File lib/que.rb, line 57 def display @list.to_s end
empty?()
click to toggle source
# File lib/que.rb, line 45 def empty? length.zero? end
length()
click to toggle source
# File lib/que.rb, line 37 def length @list.length end
pop()
click to toggle source
# File lib/que.rb, line 18 def pop raise Error if @list.empty? @list.pop rescue => e e.min_size_reached(self.class) end
push(item)
click to toggle source
# File lib/que.rb, line 26 def push(item) raise Error if @list.size >= @max_size @list.push item rescue => e e.max_size_reached(self.class) end
push_list(list)
click to toggle source
# File lib/que.rb, line 49 def push_list(list) raise Error if (@list.size+list.size) >= @max_size list.each { |data| @list.push data } if list.is_a? Array rescue => e e.max_size_reached(self.class) end
size()
click to toggle source
# File lib/que.rb, line 41 def size length end
Private Instance Methods
get_number(str)
click to toggle source
# File lib/que.rb, line 67 def get_number(str) return nil if str==nil return str.to_i end
valid_number(str)
click to toggle source
# File lib/que.rb, line 62 def valid_number(str) str = str.to_s !!(str =~ /[0-9]+/ && str.length == str.match(/[0-9]+/).to_s.length) end