class Ellington::UniqueTypeArray

Attributes

inner_list[R]

Public Class Methods

new() click to toggle source
Calls superclass method
# File lib/ellington/unique_type_array.rb, line 6
def initialize
  @inner_list = []
  super inner_list
end

Public Instance Methods

<<(value)
Alias for: push
contains_a?(klass) click to toggle source
# File lib/ellington/unique_type_array.rb, line 18
def contains_a?(klass)
  each do |entry|
    return true if entry.class == klass
  end
  false
end
push(value) click to toggle source
# File lib/ellington/unique_type_array.rb, line 11
def push(value)
  check value
  inner_list.push value
end
Also aliased as: <<

Protected Instance Methods

check(value) click to toggle source
# File lib/ellington/unique_type_array.rb, line 29
def check(value)
  if contains_a?(value.class)
    raise Ellington::ListAlreadyContainsType.new("List already contains a #{value.class.name} type!")
  end
end