Ameba::Rule::Style::RedundantBegin
Inherits Ameba::AST::Util < YAML::Serializable < Ameba::Rule::Base < Ameba::Config::RuleConfig < Reference < Object
A rule that disallows redundant begin blocks.
Currently it is able to detect:
- Exception handler block that can be used as a part of the method.
For example, this:
def method
begin
read_content
rescue
close_file
end
end
should be rewritten as:
def method
read_content
rescue
close_file
end
begin..endblock as a top level block in a method.
For example this is considered invalid:
def method
begin
a = 1
b = 2
end
end
and has to be written as the following:
def method
a = 1
b = 2
end
YAML configuration example:
Style/RedundantBegin:
Enabled: true
Constants
Constructors
A rule that disallows redundant begin blocks.
Currently it is able to detect:
- Exception handler block that can be used as a part of the method.
For example, this:
def method
begin
read_content
rescue
close_file
end
end
should be rewritten as:
def method
read_content
rescue
close_file
end
begin..endblock as a top level block in a method.
For example this is considered invalid:
def method
begin
a = 1
b = 2
end
end
and has to be written as the following:
def method
a = 1
b = 2
end
YAML configuration example:
Style/RedundantBegin:
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."