Class: Groupdate::Magic::Enumerable

Inherits:
Groupdate::Magic show all
Defined in:
lib/groupdate/magic.rb

Instance Attribute Summary

Attributes inherited from Groupdate::Magic

#group_index, #options, #period

Class Method Summary collapse

Instance Method Summary collapse

Methods inherited from Groupdate::Magic

#day_start, #initialize, #series_builder, #time_range, #time_zone, #week_start

Constructor Details

This class inherits a constructor from Groupdate::Magic

Class Method Details

.group_by(enum, period, options, &block) ⇒ Object



55
56
57
# File 'lib/groupdate/magic.rb', line 55

def self.group_by(enum, period, options, &block)
  Groupdate::Magic::Enumerable.new(period: period, **options).group_by(enum, &block)
end

Instance Method Details

#group_by(enum, &_block) ⇒ Object



50
51
52
53
# File 'lib/groupdate/magic.rb', line 50

def group_by(enum, &_block)
  group = enum.group_by { |v| v = yield(v); v ? series_builder.round_time(v) : nil }
  series_builder.generate(group, default_value: [], series_default: false)
end