Sha256: 09fee98ae5160300d505b875a3f03dd89c6c9acaeb1bdd12399c117f4e462d92

Contents?: true

Size: 482 Bytes

Versions: 4

Compression:

Stored size: 482 Bytes

Contents

module Tailstrom
  class Counter
    def initialize
      clear
    end

    def <<(value)
      @values << value
    end

    def clear
      @values = []
    end

    def avg
      return nil if @values.empty?
      sum / @values.length
    end

    def sum
      @values.inject(0, :+)
    end

    def min
      @values.min
    end

    def max
      @values.max
    end

    def med
      @values[@values.length / 2]
    end

    def count
      @values.count
    end
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
tailstrom-0.0.4 lib/tailstrom/counter.rb
tailstrom-0.0.3 lib/tailstrom/counter.rb
tailstrom-0.0.2 lib/tailstrom/counter.rb
tailstrom-0.0.1 lib/tailstrom/counter.rb