Я видел много случаев использования двойных двоеточий в Rails перед именами классов.
Например:
require ::File.expand_path('../config/environment', __FILE__)
Я знаю, что означает Module::Class::Constant, но ::Class?
Module::Class::Constant
::Class
Это означает, что вы ссылаетесь на константу File из пространства имен верхнего уровня. Это имеет смысл в таких ситуациях:
File
class MyClass #1 end module MyNameSpace class MyClass #2 end def foo # Creates an instance of MyClass #1 ::MyClass.new # If I left out the ::, it would refer to # MyNameSpace::MyClass instead. end end