Sha256: 2c86c957e0a18b330f336a29171e2a266d1c69d5c6a860e33437645a14e26df3

Contents?: true

Size: 655 Bytes

Versions: 3

Compression:

Stored size: 655 Bytes

Contents

class Array
  # from rails: https://github.com/rails/rails/blob/master/activesupport/lib/active_support/core_ext/array/grouping.rb
  # Divides the array into one or more subarrays based on a delimiting +value+
  # or the result of an optional block.
  #
  #   [1, 2, 3, 4, 5].split(3)              # => [[1, 2], [4, 5]]
  #   (1..10).to_a.split { |i| i % 3 == 0 } # => [[1, 2], [4, 5], [7, 8], [10]]
  def split(value = nil, &block)
    inject([[]]) do |results, element|
      if block && block.call(element) || value == element
        results << []
      else
        results.last << element
      end

      results
    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
pennu-0.1.1 lib/classes/array.rb
pennu-0.1 lib/classes/array.rb
pennu-0.0.1 lib/classes/array.rb