Double colon in class definition?

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.

On Jun 28, 10:02 pm, Robert La Ferla [email protected]
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

This forum is not affiliated to the Ruby language, Ruby on Rails framework, nor any Ruby applications discussed here.

| Privacy Policy | Terms of Service | Remote Ruby Jobs