Use double colons only to reference constants

This page is not yet available in Spanish. We are working on its translation.
If you have any questions or feedback about our current translation project, feel free to reach out to us!

Metadata

ID: ruby-best-practices/double-colon-method-calls

Language: Ruby

Severity: Notice

Category: Best Practices

Description

In Ruby, double colons :: are used as a namespace resolution operator that allows you to reference constants, including classes and modules, from within different scopes. This rule emphasizes that you should only use double colons to reference these constants.

Using double colons for methods or variables can lead to confusion and unexpected behavior because it deviates from the standard Ruby syntax. It’s important to use the correct operators for clarity and to maintain consistency in your code.

To avoid violating this rule, always use a dot . when you want to call a method on an object or class. If you want to reference a constant, use double colons ::. By following these guidelines, your code will be more readable and easier to understand.

Non-Compliant Code Examples

SomeClass::some_method
some_object::some_method

Compliant Code Examples

SomeClass.some_method
some_object.some_method
SomeModule::SomeClass::SOMETHING
SomeModule::SomeClass()
https://static.datadoghq.com/static/images/logos/github_avatar.svg https://static.datadoghq.com/static/images/logos/vscode_avatar.svg jetbrains

Seamless integrations. Try Datadog Code Analysis