class Streamer::Functors::Multiply

Multiply multiplies a set of terms together

Public Instance Methods

call() click to toggle source
# File lib/streamer/functors/multiply.rb, line 5
def call
  multiply
end
multiply() click to toggle source
# File lib/streamer/functors/multiply.rb, line 9
def multiply
  options.fetch(:terms).inject(1) do |total, item|
    unless item.is_a?(String) || item.is_a?(Numeric)
      fail "Streamer::Functor invalid term: #{item}"
    end
    val = total * (prop(item) || 0) if item.is_a? String
    val = total * item if item.is_a? Numeric
    val
  end
end