class Ameba::Rule::Documentation::DocumentationAdmonition
Overview
A rule that reports documentation admonitions.
Optionally, these can fail at an appropriate time.
def get_user(id)
# TODO(2024-04-24) Fix this hack when the database migration is complete
if id < 1_000_000
v1_api_call(id)
else
v2_api_call(id)
end
end
TODO
comments are used to remind yourself of source code related things.
The premise here is that TODO
should be dealt with in the near future
and are therefore reported by Ameba.
FIXME
comments are used to indicate places where source code needs fixing.
The premise here is that FIXME
should indeed be fixed as soon as possible
and are therefore reported by Ameba.
YAML configuration example:
Documentation/DocumentationAdmonition:
Enabled: true
Admonitions: [TODO, FIXME, BUG]
Timezone: UTC
Included Modules
- YAML::Serializable
- YAML::Serializable::Strict
Defined in:
ameba/rule/documentation/documentation_admonition.crConstant Summary
-
MSG =
"Found a %s admonition in a comment"
-
MSG_ERR =
"%s admonition error: %s"
-
MSG_LATE =
"Found a %s admonition in a comment (%s)"
Constructors
- .new(ctx : YAML::ParseContext, node : YAML::Nodes::Node)
-
.new(config = nil)
A rule that reports documentation admonitions.
Class Method Summary
-
.parsed_doc : String | Nil
Returns documentation for this rule, if there is any.
Instance Method Summary
- #admonitions : Array(String)
- #admonitions=(admonitions : Array(String))
- #description : String
- #description=(description : String)
- #enabled=(enabled : Bool)
- #enabled? : Bool
- #excluded : Array(String) | Nil
- #excluded=(excluded : Array(String) | Nil)
- #severity : Ameba::Severity
- #severity=(severity : Ameba::Severity)
- #since_version : SemanticVersion | Nil
- #since_version=(since_version : String)
- #test(source)
- #timezone : String
- #timezone=(timezone : String)
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
default_severity : Ameba::Severity
default_severity
Macros inherited from class Ameba::Rule::Base
issue_for(*args, **kwargs, &block)
issue_for
Macros inherited from module Ameba::Config::RuleConfig
properties(&block)
properties
Constructor Detail
A rule that reports documentation admonitions.
Optionally, these can fail at an appropriate time.
def get_user(id)
# TODO(2024-04-24) Fix this hack when the database migration is complete
if id < 1_000_000
v1_api_call(id)
else
v2_api_call(id)
end
end
TODO
comments are used to remind yourself of source code related things.
The premise here is that TODO
should be dealt with in the near future
and are therefore reported by Ameba.
FIXME
comments are used to indicate places where source code needs fixing.
The premise here is that FIXME
should indeed be fixed as soon as possible
and are therefore reported by Ameba.
YAML configuration example:
Documentation/DocumentationAdmonition:
Enabled: true
Admonitions: [TODO, FIXME, BUG]
Timezone: UTC
Class Method Detail
Returns documentation for this rule, if there is any.
module Ameba
# This is a test rule.
# Does nothing.
class MyRule < Ameba::Rule::Base
def test(source)
end
end
end
MyRule.parsed_doc # => "This is a test rule.\nDoes nothing."