Sha256: 0410e9cc6f96daa2704582b56f184fb6a4fef24a81cc0ad869c7f4e857b35406

Contents?: true

Size: 652 Bytes

Versions: 31

Compression:

Stored size: 652 Bytes

Contents

module Bmg
  class Summarizer
    #
    # Collect the distinct values as an array.
    #
    # Example:
    #
    #   # direct ruby usage
    #   Bmg::Summarizer.distinct(:qty).summarize(...)
    #
    class Distinct < Summarizer

      # Returns [] as least value.
      def least()
        {}
      end

      # Adds val to the memo array
      def _happens(memo, val)
        memo[val] = true
        memo
      end

      def finalize(memo)
        memo.keys
      end

    end # class Distinct

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

  end # class Summarizer
end # module Bmg

Version data entries

31 entries across 31 versions & 1 rubygems

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