Ответ 1
Когда получатель явно указывается в вызове метода, его можно отделить от имени метода, используя либо период (
.
), либо два двоеточия (::
). Единственное различие между этими двумя формами происходит, если имя метода начинается с буквы верхнего регистра. В этом случае Ruby предположит, что вызов методаreceiver::Thing
фактически является попыткой получить доступ к константе с именемThing
в приемнике, если в вызове метода нет списка параметров между круглыми скобками.