Class: Streamer::Functors::Multiply
- Defined in:
- lib/streamer/functors/multiply.rb
Overview
Multiply multiplies a set of terms together
Instance Attribute Summary
Attributes inherited from Functor
Instance Method Summary collapse
Methods inherited from Functor
#class_name, #initialize, #type_name
Constructor Details
This class inherits a constructor from Streamer::Functors::Functor
Instance Method Details
#call ⇒ Object
5 6 7 |
# File 'lib/streamer/functors/multiply.rb', line 5 def call multiply end |
#multiply ⇒ Object
9 10 11 12 13 14 15 16 17 18 |
# File 'lib/streamer/functors/multiply.rb', line 9 def multiply .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 |