class CollectionHolder
Attributes
holder[R]
Public Class Methods
new(data = {})
click to toggle source
# File lib/collection-holder.rb, line 11 def initialize(data = {}) raise Error if !valid_number(data[:size]) && data[:size] @size = data[:size].to_i || $DEFAULT_HOLDER_SIZE @holder = Hash.new rescue => e e.init_failed(self.class) end
Public Instance Methods
add(collection)
click to toggle source
# File lib/collection-holder.rb, line 20 def add(collection) raise Error if @holder.size >= @size @holder[key(@@collectionID)] = collection @@collectionID += 1 rescue => e e.max_size_reached(self.class) end
delete(id)
click to toggle source
# File lib/collection-holder.rb, line 39 def delete(id) raise Error if @holder.empty? @holder.delete(key(id)) rescue => e e.min_size_reached(self.class) end
display()
click to toggle source
# File lib/collection-holder.rb, line 33 def display @holder.each do |key, collection| puts "CollectionID##{key.to_s} | #{collection.class.to_s} | #{collection.display}\n" end end
find(id)
click to toggle source
# File lib/collection-holder.rb, line 29 def find(id) @holder[key(id)] end
Private Instance Methods
key(id)
click to toggle source
# File lib/collection-holder.rb, line 48 def key(id) id.to_s.to_sym end
valid_number(str)
click to toggle source
# File lib/collection-holder.rb, line 52 def valid_number(str) str = str.to_s !!(str =~ /[0-9]+/ && str.length == str.match(/[0-9]+/).to_s.length) end