Como o Sinatra define e invoca o método get?

Estou bastante curioso sobre como isso funciona.

after exigem 'sinatra'

, em seguida, posso chamar get () no escopo de nível superio

after digitando o código fonte, encontrei essa estrutura get ()

module Sinatra
 class << self
   def get
    ...
    end
  end
end

know a classe << self é abrir a definição de classe singleton do objeto self e adicionar get () dentro, para que comece a fazer sentido.

Mas a única coisa que não consigo descobrir é que está dentro do módulo Sinstra, como poderia obter () ser invocado sem usar a operação Sinatra :: resolution ou algo assi

questionAnswers(2)

yourAnswerToTheQuestion