in_groups_of (ActiveSupport::CoreExtensions::Array::Grouping)

    # File lib/active_support/core_ext/array/grouping.rb, line 22
            def in_groups_of(number, fill_with = nil)
              if fill_with == false
                collection = self
              else
                # size % number gives how many extra we have;
                # subtracting from number gives how many to add;
                # modulo number ensures we don't add group of just fill.
                padding = (number - size % number) % number
                collection = dup.concat([fill_with] * padding)
              end

              if block_given?
                collection.each_slice(number) { |slice| yield(slice) }
              else
                returning [] do |groups|
                  collection.each_slice(number) { |group| groups << group }
                end
              end
            end