Sintaxe do Ruby Proc

Uma resposta a uma pergunta que fiz ontem aqui foi a seguinte parte do código Ruby:

def overlap?(r1,r2)
  r1.include?(r2.begin) || r2.include?(r1.begin)
end

def any_overlap?(ranges)
  ranges.sort_by(&:begin).each_cons(2).any? do |r1,r2|
  overlap?(r1, r2)
  end
end

eu receboeach_cons, mas qual é o estranho&:begin notação? Salve-me do inferno da sintaxe!

Obrigado!

questionAnswers(3)

yourAnswerToTheQuestion