struct Ameba::Rule::Lint::ComparisonToBoolean

Overview

A rule that disallows comparison to booleans.

For example, these are considered invalid:

foo == true
bar != false
false === baz

This is because these expressions evaluate to true or false, so you could get the same result by using either the variable directly, or negating the variable.

YAML configuration example:

Lint/ComparisonToBoolean:
  Enabled: true

Included Modules

Defined in:

Constant Summary

MSG = "Comparison to a boolean is pointless"

Constructors

Instance Method Summary

Instance methods inherited from struct 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

Constructor methods inherited from struct Ameba::Rule::Base

new new

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

parsed_doc parsed_doc

Constructor Detail

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

def self.new(config = nil) #

A rule that disallows comparison to booleans.

For example, these are considered invalid:

foo == true
bar != false
false === baz

This is because these expressions evaluate to true or false, so you could get the same result by using either the variable directly, or negating the variable.

YAML configuration example:

Lint/ComparisonToBoolean:
  Enabled: true

Instance Method Detail

def description : String #

def description=(description : String) #

def enabled : Bool #

def enabled=(enabled : Bool) #

def excluded : Array(String)? #

def excluded=(excluded : Array(String)?) #

def severity : Ameba::Severity #

def severity=(severity) #

def test(source, node : Crystal::Call) #