Class: Array

Inherits:
Object show all
Includes:
ActiveSupport::CoreExtensions::Array::Conversions
Defined in:
lib/active_support/core_ext/array.rb,
lib/active_support/core_ext/blank.rb

Overview

:nodoc:

Direct Known Subclasses

OrderedHash

Instance Method Summary collapse

Methods included from ActiveSupport::CoreExtensions::Array::Conversions

#to_param, #to_sentence, #to_xml

Instance Method Details

#in_groups_of(number, fill_with = nil, &block) ⇒ Object

Iterate over an array in groups of a certain size, padding any remaining slots with specified value (nil by default).

E.g.

%w(1 2 3 4 5 6 7).in_groups_of(3) {|g| p g}
["1", "2", "3"]
["4", "5", "6"]
["7", nil, nil]


15
16
17
18
19
20
# File 'lib/active_support/core_ext/array.rb', line 15

def in_groups_of(number, fill_with = nil, &block)
  require 'enumerator'
  collection = dup
  collection << fill_with until collection.size.modulo(number).zero?
  collection.each_slice(number, &block)
end