Sha256: d9624f16cb2a6e573f5c986c987591d5c43e614e29a4b3d4f581637773cb0c6c

Contents?: true

Size: 612 Bytes

Versions: 52

Compression:

Stored size: 612 Bytes

Contents

module Bmg
  class Summarizer
    #
    # Max summarizer.
    #
    # Example:
    #
    #   # direct ruby usage
    #   Bmg::Summarizer.max(:qty).summarize(...)
    #
    class Max < Summarizer

      # Returns nil as least value.
      def least()
        nil
      end

      # Keeps the maximum value between memo and val, ignoring nil
      def _happens(memo, val) 
        memo.nil? ? val : (val.nil? ? memo : (memo > val ? memo : val))
      end

    end # class Max

    # Factors a max summarizer
    def self.max(*args, &bl)
      Max.new(*args, &bl)
    end

  end # class Summarizer
end # module Bmg

Version data entries

52 entries across 52 versions & 1 rubygems

Version Path
bmg-0.23.3 lib/bmg/summarizer/max.rb
bmg-0.23.2 lib/bmg/summarizer/max.rb
bmg-0.23.1 lib/bmg/summarizer/max.rb
bmg-0.23.0 lib/bmg/summarizer/max.rb
bmg-0.21.5 lib/bmg/summarizer/max.rb
bmg-0.21.4 lib/bmg/summarizer/max.rb
bmg-0.20.5 lib/bmg/summarizer/max.rb
bmg-0.19.3 lib/bmg/summarizer/max.rb
bmg-0.21.3 lib/bmg/summarizer/max.rb
bmg-0.21.2 lib/bmg/summarizer/max.rb
bmg-0.21.0 lib/bmg/summarizer/max.rb
bmg-0.20.4 lib/bmg/summarizer/max.rb
bmg-0.20.2 lib/bmg/summarizer/max.rb
bmg-0.20.1 lib/bmg/summarizer/max.rb
bmg-0.20.0 lib/bmg/summarizer/max.rb
bmg-0.19.2 lib/bmg/summarizer/max.rb
bmg-0.19.1 lib/bmg/summarizer/max.rb
bmg-0.19.0 lib/bmg/summarizer/max.rb
bmg-0.18.15 lib/bmg/summarizer/max.rb
bmg-0.18.14 lib/bmg/summarizer/max.rb