Double colon in class definition?


#1

What does the double colon mean in a class definition. e.g.
ActiveRecord::Base ? I couldn’t locate it in the docs. I suspect
it’s akin to a category or a namespace. The only documentation on
double-colon that I have found indicates that “::” is used to make
class methods easier to read since “.” will also call a class method.


#2

On Jun 28, 10:02 pm, Robert La Ferla removed_email_address@domain.invalid
wrote:

What does the double colon mean in a class definition. e.g.
ActiveRecord::Base ? I couldn’t locate it in the docs. I suspect
it’s akin to a category or a namespace. The only documentation on
double-colon that I have found indicates that “::” is used to make
class methods easier to read since “.” will also call a class method.

In this case, it indicates that Base is a class within the
ActiveRecord module. More generally, it’s used to reference a constant
(modules & classes are constants) within a module (similar to a
namespace) or a class. As in:

irb> Object::Fixnum.class
=> Class
irb> Object::RUBY_VERSION.class
=> String