Ameba::Rule::Lint::LiteralInCondition
Inherits Ameba::AST::Util < YAML::Serializable < Ameba::Rule::Base < Ameba::Config::RuleConfig < Reference < Object
A rule that disallows useless conditional statements that contain a literal in place of a variable or predicate function.
This is because a conditional construct with a literal predicate will always result in the same behavior at run time, meaning it can be replaced with either the body of the construct, or deleted entirely.
This is considered invalid:
if "something"
:ok
end
YAML configuration example:
Lint/LiteralInCondition:
Enabled: true
Constants
Constructors
A rule that disallows useless conditional statements that contain a literal in place of a variable or predicate function.
This is because a conditional construct with a literal predicate will always result in the same behavior at run time, meaning it can be replaced with either the body of the construct, or deleted entirely.
This is considered invalid:
if "something"
:ok
end
YAML configuration example:
Lint/LiteralInCondition:
Enabled: true
Class methods
Returns true if this rule is deprecated, false otherwise.
Returns the deprecation reason for this rule, if there is any.
Returns the documentation URL for this rule.
Ameba::Rule::Lint::Syntax.documentation_url
# => "https://crystal-ameba.org/api/master/Ameba/Rule/Lint/Syntax.html"
Returns the documentation for this rule, if there is any.
module Ameba
# This is a test rule.
# Does nothing.
class Rule::MyRule < Rule::Base
def test(source)
end
end
end
Ameba::Rule::MyRule.parsed_doc # => "This is a test rule.\nDoes nothing."