Группировка массива путем сравнения 2 смежных элементов

У меня есть массив объектов, и я хотел бы сгруппировать их по разнице между атрибутами двух смежных элементов. Массив уже отсортирован по этому атрибуту. Например:

Исходный массив:

array = [a, b, c, d, e]

а также

a.attribute = 1
b.attribute = 3
c.attribute = 6
d.attribute = 9
e.attribute = 10 

Если я хочу сгруппировать элементы так, чтобы разница между атрибутами 2 смежных элементов была меньше или равна 2, результат должен выглядеть так:

КОНЕЧНЫЙ РЕЗУЛЬТАТ

result_array = [[a, b], [c], [d, e]]

ЧТО Я ИМЕЮ

def group_elements_by_difference(array, difference)
    result_array = []
    subgroup = []
    last_element_attribute = array.first.attribute
    array.each do |element|
      if element.attribute 

Ответы на вопрос(3)

Ваш ответ на вопрос