Class: Ke::CappedSample

Inherits:
Object
  • Object
show all
Defined in:
lib/ke/capped_sample.rb

Instance Method Summary collapse

Constructor Details

#initialize(limit) ⇒ CappedSample

Returns a new instance of CappedSample.



3
4
5
6
# File 'lib/ke/capped_sample.rb', line 3

def initialize(limit)
  @array = []
  @limit = limit
end

Instance Method Details

#meanObject



24
25
26
27
28
29
30
# File 'lib/ke/capped_sample.rb', line 24

def mean
  if @array.size > 0
    @array.inject(:+) / @array.size.to_f
  else
    0
  end
end

#push(element) ⇒ Object Also known as: <<



8
9
10
11
12
# File 'lib/ke/capped_sample.rb', line 8

def push(element)
  @array << element
  @array.shift if @array.size > @limit
  self
end

#sizeObject



15
16
17
# File 'lib/ke/capped_sample.rb', line 15

def size
  @array.size
end

#to_aObject Also known as: to_ary



19
20
21
# File 'lib/ke/capped_sample.rb', line 19

def to_a
  @array.dup
end

#to_sObject



32
33
34
# File 'lib/ke/capped_sample.rb', line 32

def to_s
  "#<CappedSample: #{@array.inspect}>"
end