+
+ class Ameba::Rule::Naming::BinaryOperatorParameterName
+
+
+
+
+
+
+
+
+
+ + + + + Overview +
+ +A rule that enforces that certain binary operator methods have
+their sole parameter named other
.
For example, this is considered valid:
+class Money
+ def +(other)
+ end
+end
+And this is invalid parameter name:
+class Money
+ def +(amount)
+ end
+end
+YAML configuration example:
+Naming/BinaryOperatorParameterName:
+ Enabled: true
+ ExcludedOperators: ["[]", "[]?", "[]=", "<<", "=~"]
+
+
+
+
+
+ + + + + Included Modules +
+-
+
+
- YAML::Serializable + +
- YAML::Serializable::Strict + +
+ + + + Defined in: +
+ + + + ameba/rule/naming/binary_operator_parameter_name.cr + + ++ + + + + +
+ + + + Constant Summary +
+ +-
+
+
-
+ MSG =
"When defining the `%s` operator, name its argument `other`"
+
+
+
+
+ + + + Constructors +
+-
+
+
- + .new(ctx : YAML::ParseContext, node : YAML::Nodes::Node) + + + +
-
+ .new(config = nil)
+
+ + +
A rule that enforces that certain binary operator methods have their sole parameter named
other
.
+
+
+ + + + Class Method Summary +
+-
+
+
-
+ .parsed_doc : String | Nil
+
+ + +
Returns documentation for this rule, if there is any.
+
+
+ + + + Instance Method Summary +
+-
+
+
- + #description : String + + + +
- + #description=(description : String) + + + +
- + #enabled=(enabled : Bool) + + + +
- + #enabled? : Bool + + + +
- + #excluded : Array(String) | Nil + + + +
- + #excluded=(excluded : Array(String) | Nil) + + + +
- + #excluded_operators : Array(String) + + + +
- + #excluded_operators=(excluded_operators : Array(String)) + + + +
- + #severity : Ameba::Severity + + + +
- + #severity=(severity : Ameba::Severity) + + + +
- + #test(source, node : Crystal::Def) + + + +
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
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
++ + + + Constructor Detail +
+ + + +A rule that enforces that certain binary operator methods have
+their sole parameter named other
.
For example, this is considered valid:
+class Money
+ def +(other)
+ end
+end
+And this is invalid parameter name:
+class Money
+ def +(amount)
+ end
+end
+YAML configuration example:
+Naming/BinaryOperatorParameterName:
+ Enabled: true
+ ExcludedOperators: ["[]", "[]?", "[]=", "<<", "=~"]
+ +
+ + + + 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."
+ +