Ameba::Rule::Performance::AnyInsteadOfPresent
Inherits Ameba::AST::Util < YAML::Serializable < Ameba::Rule::Performance::Base < YAML::Serializable < Ameba::Rule::Base < Ameba::Config::RuleConfig < Reference < Object
This rule is used to identify usage of arg-less Enumerable#any? calls.
Using Enumerable#any? instead of Enumerable#present? might lead to
unexpected results (like [nil, false].any? # => false). In some cases
it also might be less efficient, since it iterates until the block
returns a truthy value, instead of just checking if there's at least
one value present.
For example, this is considered invalid:
[1, 2, 3].any?
And it should be written as this:
[1, 2, 3].present?
YAML configuration example:
Performance/AnyInsteadOfPresent:
Enabled: true
Constants
Constructors
This rule is used to identify usage of arg-less Enumerable#any? calls.
Using Enumerable#any? instead of Enumerable#present? might lead to
unexpected results (like [nil, false].any? # => false). In some cases
it also might be less efficient, since it iterates until the block
returns a truthy value, instead of just checking if there's at least
one value present.
For example, this is considered invalid:
[1, 2, 3].any?
And it should be written as this:
[1, 2, 3].present?
YAML configuration example:
Performance/AnyInsteadOfPresent:
Enabled: true
This rule is used to identify usage of arg-less Enumerable#any? calls.
Using Enumerable#any? instead of Enumerable#present? might lead to
unexpected results (like [nil, false].any? # => false). In some cases
it also might be less efficient, since it iterates until the block
returns a truthy value, instead of just checking if there's at least
one value present.
For example, this is considered invalid:
[1, 2, 3].any?
And it should be written as this:
[1, 2, 3].present?
YAML configuration example:
Performance/AnyInsteadOfPresent:
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."