Class: Ace::Support::Items::Atoms::ItemStatistics
- Inherits:
-
Object
- Object
- Ace::Support::Items::Atoms::ItemStatistics
- Defined in:
- lib/ace/support/items/atoms/item_statistics.rb
Overview
Pure counting logic for item collections. Groups items by a field and computes completion rates.
Class Method Summary collapse
-
.count_by(items, field) ⇒ Hash
{ total:, by_field: { “value” => count } }.
Class Method Details
.count_by(items, field) ⇒ Hash
Returns { total:, by_field: { “value” => count } }.
13 14 15 16 17 18 19 20 21 |
# File 'lib/ace/support/items/atoms/item_statistics.rb', line 13 def self.count_by(items, field) result = {total: items.size, by_field: {}} items.each do |item| value = item.public_send(field).to_s result[:by_field][value] ||= 0 result[:by_field][value] += 1 end result end |