# File lib/active_support/core_ext/array/grouping.rb, line 47 def split(value = nil, &block) block ||= Proc.new { |e| e == value } inject([[]]) do |results, element| if block.call(element) results << [] else results.last << element end results end end