class Ameba::Rule::Style::LargeNumbers

Overview

A rule that disallows usage of large numbers without underscore. These do not affect the value of the number, but can help read large numbers more easily.

For example, these are considered invalid:

100000
141592654
5.123456

And has to be rewritten as the following:

100_000
141_592_654
5.123_456

YAML configuration example:

Style/LargeNumbers:
  Enabled: true
  IntMinDigits: 6 # i.e. integers higher than 99999

Included Modules

Defined in:

ameba/rule/style/large_numbers.cr

Constant Summary

MSG = "Large numbers should be written with underscores: %s"

Constructors

Class Method Summary

Instance Method Summary

Instance methods inherited from class Ameba::Rule::Base

==(other) ==, catch(source : Source) catch, excluded?(source) excluded?, group group, hash hash, name name, special? special?, test(source : Source, node : Crystal::ASTNode, *opts)
test(source : Source)
test

Class methods inherited from class Ameba::Rule::Base

default_severity : Ameba::Severity default_severity

Macros inherited from class Ameba::Rule::Base

issue_for(*args, **kwargs, &block) issue_for

Macros inherited from module Ameba::Config::RuleConfig

properties(&block) properties

Constructor Detail

def self.new(ctx : YAML::ParseContext, node : YAML::Nodes::Node) #

def self.new(config = nil) #

A rule that disallows usage of large numbers without underscore. These do not affect the value of the number, but can help read large numbers more easily.

For example, these are considered invalid:

100000
141592654
5.123456

And has to be rewritten as the following:

100_000
141_592_654
5.123_456

YAML configuration example:

Style/LargeNumbers:
  Enabled: true
  IntMinDigits: 6 # i.e. integers higher than 99999

[View source]

Class Method Detail

def self.parsed_doc : String | Nil #

Returns documentation for this rule, if there is any.

module Ameba
  # This is a test rule.
  # Does nothing.
  class MyRule < Ameba::Rule::Base
    def test(source)
    end
  end
end

MyRule.parsed_doc # => "This is a test rule.\nDoes nothing."

Instance Method Detail

def description : String #

def description=(description : String) #

def enabled=(enabled : Bool) #

def enabled? : Bool #

def excluded : Array(String) | Nil #

def excluded=(excluded : Array(String) | Nil) #

def int_min_digits : Int32 #

def int_min_digits=(int_min_digits : Int32) #

def severity : Ameba::Severity #

def severity=(severity : Ameba::Severity) #

def test(source) #

[View source]