module Enumerable

Public Instance Methods

group_by_period(period, *args, **options, &block) click to toggle source
# File lib/groupdate/enumerable.rb, line 15
def group_by_period(period, *args, **options, &block)
  if block || !respond_to?(:scoping)
    raise ArgumentError, "wrong number of arguments (given #{args.size + 1}, expected 1)" if args.any?

    Groupdate::Magic.validate_period(period, options.delete(:permit))
    send("group_by_#{period}", **options, &block)
  else
    scoping { @klass.group_by_period(period, *args, **options, &block) }
  end
end