Integer literals starting with a zero are octal rather than decimal values. While using octal values is fully supported, most developers do not have experience with them. They may not recognize octal values as such, mistaking them instead for decimal values.
my_number = 023 # Noncompliant. my_number will hold 19, not 23 - was this really expected?
my_number = 23
This rule does not apply to values smaller than 8 and octal values having 3 digits, since 3 digits octal values are often used as file permission masks.
Example:
permission_mask = 0777 day_of_month = 03