Class: LimitedArray

Inherits:
Array
  • Object
show all
Defined in:
lib/utils/limited_array.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(limit) ⇒ LimitedArray

Returns a new instance of LimitedArray.



5
6
7
8
# File 'lib/utils/limited_array.rb', line 5

def initialize(limit)
  @limit = limit
  super()
end

Instance Attribute Details

#limitObject

Returns the value of attribute limit.



3
4
5
# File 'lib/utils/limited_array.rb', line 3

def limit
  @limit
end

Instance Method Details

#<<(val) ⇒ Object



14
15
16
17
18
19
20
21
# File 'lib/utils/limited_array.rb', line 14

def <<(val)
  if full?
    self.rotate!
    self[limit-1] = val
  else
    super
  end
end

#averageObject



23
24
25
# File 'lib/utils/limited_array.rb', line 23

def average
  sum.to_f / size
end

#full?Boolean

Returns:

  • (Boolean)


10
11
12
# File 'lib/utils/limited_array.rb', line 10

def full?
  size == limit
end

#sumObject



27
28
29
# File 'lib/utils/limited_array.rb', line 27

def sum
  inject(:+)
end