class SizedArray

Attributes

capacity[R]

Public Class Methods

new( capacity = 10, *args ) click to toggle source
Calls superclass method
# File lib/diakonos/sized-array.rb, line 4
def initialize( capacity = 10, *args )
    @capacity = capacity
    super( *args )
end

Public Instance Methods

<<( item ) click to toggle source
Calls superclass method
# File lib/diakonos/sized-array.rb, line 28
def <<( item )
    retval = super( item )
    if size > @capacity
        retval = shift
    end
    retval
end
concat( other_array ) click to toggle source
Calls superclass method
# File lib/diakonos/sized-array.rb, line 16
def concat( other_array )
    super( other_array )
    resize
    self
end
fill( *args ) click to toggle source
Calls superclass method
# File lib/diakonos/sized-array.rb, line 22
def fill( *args )
    retval = super( *args )
    resize
    self
end
push( item ) click to toggle source
# File lib/diakonos/sized-array.rb, line 36
def push( item )
    self << item
end
unshift( item ) click to toggle source
Calls superclass method
# File lib/diakonos/sized-array.rb, line 40
def unshift( item )
    retval = super( item )
    if size > @capacity
        retval = pop
    end
    retval
end

Private Instance Methods

resize() click to toggle source
# File lib/diakonos/sized-array.rb, line 9
def resize
    if size > @capacity
        slice!( (0...-@capacity) )
    end
end