class Ameba::Rule::Lint::ComparisonToBoolean
- Ameba::Rule::Lint::ComparisonToBoolean
- Ameba::Rule::Base
- Reference
- Object
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
- Ameba::AST::Util
- YAML::Serializable
- YAML::Serializable::Strict
Defined in:
ameba/rule/lint/comparison_to_boolean.crConstant Summary
-
MSG =
"Comparison to a boolean is pointless" -
OP_NAMES =
["==", "!=", "==="] of ::String
Constructors
- .new(ctx : YAML::ParseContext, node : YAML::Nodes::Node)
-
.new(config = nil)
A rule that disallows comparison to booleans.
Instance Method Summary
- #description : String
- #description=(description : String)
- #enabled : Bool
- #enabled=(enabled : Bool)
- #excluded : Array(String) | Nil
- #excluded=(excluded : Array(String) | Nil)
- #severity : Ameba::Severity
- #severity=(severity : Ameba::Severity)
- #test(source, node : Crystal::Call)
Instance methods inherited from module Ameba::AST::Util
abort?(node)
abort?,
control_exp_code(node : Crystal::ControlExpression, code_lines)
control_exp_code,
exit?(node)
exit?,
flow_command?(node, in_loop)
flow_command?,
flow_expression?(node, in_loop = false)
flow_expression?,
literal?(node)
literal?,
loop?(node)
loop?,
name_end_location(node)
name_end_location,
name_location(node)
name_location,
name_size(node)
name_size,
node_source(node, code_lines)
node_source,
raise?(node)
raise?,
source_between(loc, end_loc, code_lines) : String | Nil
source_between
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
parsed_doc
parsed_doc
Constructor Detail
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