Sha256: 2c1354515973a27cb7013000e910db0613346f04d29ecc63f032b9fa7151976d

Contents?: true

Size: 450 Bytes

Versions: 9

Compression:

Stored size: 450 Bytes

Contents

require 'delegate'

module Mongoid
  module Report

    class Collection < SimpleDelegator
      def initialize(rows, fields)
        @rows   = rows
        @fields = fields
        super(rows)
      end

      def summary
        @summary ||= reduce(Hash.new{|h, k| h[k] = 0}) do |summary, row|
          @fields.each do |field|
            summary[field] += row[field.to_s]
          end

          summary
        end
      end
    end

  end
end

Version data entries

9 entries across 9 versions & 1 rubygems

Version Path
mongoid-report-0.1.1 lib/mongoid/report/collection.rb
mongoid-report-0.1.0 lib/mongoid/report/collection.rb
mongoid-report-0.0.11 lib/mongoid/report/collection.rb
mongoid-report-0.0.10 lib/mongoid/report/collection.rb
mongoid-report-0.0.9 lib/mongoid/report/collection.rb
mongoid-report-0.0.8 lib/mongoid/report/collection.rb
mongoid-report-0.0.7 lib/mongoid/report/collection.rb
mongoid-report-0.0.6 lib/mongoid/report/collection.rb
mongoid-report-0.0.5 lib/mongoid/report/collection.rb