Add rule namespaces: style, lint, layout (#63)

This commit is contained in:
V. Elenhaupt 2018-06-16 14:50:59 +03:00 committed by GitHub
parent d9f04af057
commit 4cb5328513
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
71 changed files with 128 additions and 128 deletions

View file

@ -35,10 +35,10 @@ Inspecting 107 files.
...............F.....................F.................................................................... ...............F.....................F....................................................................
src/ameba/rule/unneeded_disable_directive.cr:29:7 src/ameba/rule/unneeded_disable_directive.cr:29:7
UselessAssign: Useless assignment to variable `s` Lint/UselessAssign: Useless assignment to variable `s`
src/ameba/formatter/flycheck_formatter.cr:5:21 src/ameba/formatter/flycheck_formatter.cr:5:21
UnusedArgument: Unused argument `location` Lint/UnusedArgument: Unused argument `location`
Finished in 248.9 milliseconds Finished in 248.9 milliseconds
@ -102,10 +102,10 @@ Generate new file by running `ameba --gen-config`.
One or more rules can be disabled using inline directives: One or more rules can be disabled using inline directives:
```crystal ```crystal
# ameba:disable LargeNumbers # ameba:disable Style/LargeNumbers
time = Time.epoch(1483859302) time = Time.epoch(1483859302)
time = Time.epoch(1483859302) # ameba:disable LargeNumbers time = Time.epoch(1483859302) # ameba:disable Style/LargeNumbers
``` ```
## Editor integration ## Editor integration

View file

@ -21,8 +21,8 @@ module Ameba::Formatter
end end
subject.finished [s] subject.finished [s]
log = output.to_s log = output.to_s
log.should contain "#{path}:1 #{ErrorRule.name}" log.should contain "#{path}:1 #{ErrorRule.rule_name}"
log.should contain "#{path}:2 #{NamedRule.name}" log.should contain "#{path}:2 #{NamedRule.rule_name}"
ensure ensure
output.clear output.clear
Colorize.enabled = true Colorize.enabled = true
@ -35,7 +35,7 @@ module Ameba::Formatter
message: "NamedRule", status: :disabled) message: "NamedRule", status: :disabled)
end end
subject.finished [s] subject.finished [s]
output.to_s.should_not contain ErrorRule.name output.to_s.should_not contain ErrorRule.rule_name
end end
end end
end end

View file

@ -22,7 +22,7 @@ module Ameba::Formatter
subject = flycheck subject = flycheck
subject.source_finished s subject.source_finished s
subject.output.to_s.should eq( subject.output.to_s.should eq(
"source.cr:1:2: E: [#{DummyRule.name}] message\n" "source.cr:1:2: E: [#{DummyRule.rule_name}] message\n"
) )
end end
@ -32,7 +32,7 @@ module Ameba::Formatter
subject = flycheck subject = flycheck
subject.source_finished s subject.source_finished s
subject.output.to_s.should eq( subject.output.to_s.should eq(
"source.cr:1:2: E: [#{DummyRule.name}] multi line\n" "source.cr:1:2: E: [#{DummyRule.rule_name}] multi line\n"
) )
end end

View file

@ -34,7 +34,7 @@ module Ameba
s.add_issue DummyRule.new, {1, 2}, "message1" s.add_issue DummyRule.new, {1, 2}, "message1"
result = get_result [s] result = get_result [s]
result["sources"][0]["issues"][0]["rule_name"].should eq DummyRule.name result["sources"][0]["issues"][0]["rule_name"].should eq DummyRule.rule_name
end end
it "shows a message" do it "shows a message" do

View file

@ -57,7 +57,7 @@ module Ameba
formatter = Formatter::TODOFormatter.new IO::Memory.new, file formatter = Formatter::TODOFormatter.new IO::Memory.new, file
s = Source.new "def invalid_syntax" s = Source.new "def invalid_syntax"
s.add_issue Rule::Syntax.new, {1, 2}, "message" s.add_issue Rule::Lint::Syntax.new, {1, 2}, "message"
formatter.finished [s] formatter.finished [s]
content = file.to_s content = file.to_s

View file

@ -11,7 +11,7 @@ module Ameba
describe "#name" do describe "#name" do
it "returns name of the rule" do it "returns name of the rule" do
DummyRule.new.name.should eq "Ameba::DummyRule" DummyRule.new.name.should eq "Ameba/DummyRule"
end end
end end
end end

View file

@ -1,6 +1,6 @@
require "../../spec_helper" require "../../../spec_helper"
module Ameba::Rule module Ameba::Rule::Layout
subject = LineLength.new subject = LineLength.new
long_line = "*" * 81 long_line = "*" * 81

View file

@ -1,6 +1,6 @@
require "../../spec_helper" require "../../../spec_helper"
module Ameba::Rule module Ameba::Rule::Layout
subject = TrailingBlankLines.new subject = TrailingBlankLines.new
describe TrailingBlankLines do describe TrailingBlankLines do

View file

@ -1,6 +1,6 @@
require "../../spec_helper" require "../../../spec_helper"
module Ameba::Rule module Ameba::Rule::Layout
subject = TrailingWhitespace.new subject = TrailingWhitespace.new
describe TrailingWhitespace do describe TrailingWhitespace do

View file

@ -1,6 +1,6 @@
require "../../spec_helper" require "../../../spec_helper"
module Ameba::Rule module Ameba::Rule::Lint
subject = ComparisonToBoolean.new subject = ComparisonToBoolean.new
describe ComparisonToBoolean do describe ComparisonToBoolean do

View file

@ -1,6 +1,6 @@
require "../../spec_helper" require "../../../spec_helper"
module Ameba::Rule module Ameba::Rule::Lint
subject = DebuggerStatement.new subject = DebuggerStatement.new
describe DebuggerStatement do describe DebuggerStatement do

View file

@ -1,6 +1,6 @@
require "../../spec_helper" require "../../../spec_helper"
module Ameba::Rule module Ameba::Rule::Lint
describe EmptyEnsure do describe EmptyEnsure do
subject = EmptyEnsure.new subject = EmptyEnsure.new

View file

@ -1,17 +1,17 @@
require "../../spec_helper" require "../../../spec_helper"
module Ameba module Ameba
subject = Rule::EmptyExpression.new subject = Rule::Lint::EmptyExpression.new
def it_detects_empty_expression(code) def it_detects_empty_expression(code)
it "detects empty expression" do it "detects empty expression" do
s = Source.new code s = Source.new code
rule = Rule::EmptyExpression.new rule = Rule::Lint::EmptyExpression.new
rule.catch(s).should_not be_valid rule.catch(s).should_not be_valid
end end
end end
describe Rule::EmptyExpression do describe Rule::Lint::EmptyExpression do
it "passes if there is no empty expression" do it "passes if there is no empty expression" do
s = Source.new %( s = Source.new %(
def method() def method()

View file

@ -1,6 +1,6 @@
require "../../spec_helper" require "../../../spec_helper"
module Ameba::Rule module Ameba::Rule::Lint
describe HashDuplicatedKey do describe HashDuplicatedKey do
subject = HashDuplicatedKey.new subject = HashDuplicatedKey.new

View file

@ -1,6 +1,6 @@
require "../../spec_helper" require "../../../spec_helper"
module Ameba::Rule module Ameba::Rule::Lint
subject = LiteralInCondition.new subject = LiteralInCondition.new
describe LiteralInCondition do describe LiteralInCondition do

View file

@ -1,6 +1,6 @@
require "../../spec_helper" require "../../../spec_helper"
module Ameba::Rule module Ameba::Rule::Lint
subject = LiteralInInterpolation.new subject = LiteralInInterpolation.new
describe LiteralInInterpolation do describe LiteralInInterpolation do

View file

@ -1,6 +1,6 @@
require "../../spec_helper" require "../../../spec_helper"
module Ameba::Rule module Ameba::Rule::Lint
describe PercentArrays do describe PercentArrays do
subject = PercentArrays.new subject = PercentArrays.new

View file

@ -1,6 +1,6 @@
require "../../spec_helper" require "../../../spec_helper"
module Ameba::Rule module Ameba::Rule::Lint
describe RandZero do describe RandZero do
subject = RandZero.new subject = RandZero.new

View file

@ -1,6 +1,6 @@
require "../../spec_helper" require "../../../spec_helper"
module Ameba::Rule module Ameba::Rule::Lint
describe ShadowedArgument do describe ShadowedArgument do
subject = ShadowedArgument.new subject = ShadowedArgument.new

View file

@ -1,12 +1,12 @@
require "../../spec_helper" require "../../../spec_helper"
private def check_shadowed(source, exceptions) private def check_shadowed(source, exceptions)
s = Ameba::Source.new source s = Ameba::Source.new source
Ameba::Rule::ShadowedException.new.catch(s).should_not be_valid Ameba::Rule::Lint::ShadowedException.new.catch(s).should_not be_valid
s.issues.first.message.should contain exceptions.join(", ") s.issues.first.message.should contain exceptions.join(", ")
end end
module Ameba::Rule module Ameba::Rule::Lint
describe ShadowedException do describe ShadowedException do
subject = ShadowedException.new subject = ShadowedException.new

View file

@ -1,6 +1,6 @@
require "../../spec_helper" require "../../../spec_helper"
module Ameba::Rule module Ameba::Rule::Lint
describe ShadowingOuterLocalVar do describe ShadowingOuterLocalVar do
subject = ShadowingOuterLocalVar.new subject = ShadowingOuterLocalVar.new

View file

@ -1,6 +1,6 @@
require "../../spec_helper" require "../../../spec_helper"
module Ameba::Rule module Ameba::Rule::Lint
describe Syntax do describe Syntax do
subject = Syntax.new subject = Syntax.new

View file

@ -1,6 +1,6 @@
require "../../spec_helper" require "../../../spec_helper"
module Ameba::Rule module Ameba::Rule::Lint
describe UnneededDisableDirective do describe UnneededDisableDirective do
subject = UnneededDisableDirective.new subject = UnneededDisableDirective.new

View file

@ -1,6 +1,6 @@
require "../../spec_helper" require "../../../spec_helper"
module Ameba::Rule module Ameba::Rule::Lint
subject = UnusedArgument.new subject = UnusedArgument.new
subject.ignore_defs = false subject.ignore_defs = false

View file

@ -1,6 +1,6 @@
require "../../spec_helper" require "../../../spec_helper"
module Ameba::Rule module Ameba::Rule::Lint
describe UselessAssign do describe UselessAssign do
subject = UselessAssign.new subject = UselessAssign.new

View file

@ -1,6 +1,6 @@
require "../../spec_helper" require "../../../spec_helper"
module Ameba::Rule module Ameba::Rule::Lint
subject = UselessConditionInWhen.new subject = UselessConditionInWhen.new
describe UselessConditionInWhen do describe UselessConditionInWhen do

View file

@ -1,17 +1,17 @@
require "../../spec_helper" require "../../../spec_helper"
module Ameba module Ameba
subject = Rule::ConstantNames.new subject = Rule::Style::ConstantNames.new
private def it_reports_constant(code, expected) private def it_reports_constant(code, expected)
it "reports constant name #{expected}" do it "reports constant name #{expected}" do
s = Source.new code s = Source.new code
Rule::ConstantNames.new.catch(s).should_not be_valid Rule::Style::ConstantNames.new.catch(s).should_not be_valid
s.issues.first.message.should contain expected s.issues.first.message.should contain expected
end end
end end
describe Rule::ConstantNames do describe Rule::Style::ConstantNames do
it "passes if type names are screaming-cased" do it "passes if type names are screaming-cased" do
s = Source.new %( s = Source.new %(
LUCKY_NUMBERS = [3, 7, 11] LUCKY_NUMBERS = [3, 7, 11]

View file

@ -1,17 +1,17 @@
require "../../spec_helper" require "../../../spec_helper"
module Ameba module Ameba
subject = Rule::LargeNumbers.new subject = Rule::Style::LargeNumbers.new
private def it_transforms(number, expected) private def it_transforms(number, expected)
it "transforms large number #{number}" do it "transforms large number #{number}" do
s = Source.new number s = Source.new number
Rule::LargeNumbers.new.catch(s).should_not be_valid Rule::Style::LargeNumbers.new.catch(s).should_not be_valid
s.issues.first.message.should contain expected s.issues.first.message.should contain expected
end end
end end
describe Rule::LargeNumbers do describe Rule::Style::LargeNumbers do
it "passes if large number does not require underscore" do it "passes if large number does not require underscore" do
s = Source.new %q( s = Source.new %q(
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
@ -124,7 +124,7 @@ module Ameba
context "properties" do context "properties" do
it "allows to configure integer min digits" do it "allows to configure integer min digits" do
s = Source.new %q(1200000) s = Source.new %q(1200000)
rule = Rule::LargeNumbers.new rule = Rule::Style::LargeNumbers.new
rule.int_min_digits = 10 rule.int_min_digits = 10
rule.catch(s).should be_valid rule.catch(s).should be_valid
end end

View file

@ -1,17 +1,17 @@
require "../../spec_helper" require "../../../spec_helper"
module Ameba module Ameba
subject = Rule::MethodNames.new subject = Rule::Style::MethodNames.new
private def it_reports_method_name(code, expected) private def it_reports_method_name(code, expected)
it "reports method name #{expected}" do it "reports method name #{expected}" do
s = Source.new code s = Source.new code
Rule::MethodNames.new.catch(s).should_not be_valid Rule::Style::MethodNames.new.catch(s).should_not be_valid
s.issues.first.message.should contain expected s.issues.first.message.should contain expected
end end
end end
describe Rule::MethodNames do describe Rule::Style::MethodNames do
it "passes if method names are underscore-cased" do it "passes if method names are underscore-cased" do
s = Source.new %( s = Source.new %(
class Person class Person

View file

@ -1,6 +1,6 @@
require "../../spec_helper" require "../../../spec_helper"
module Ameba::Rule module Ameba::Rule::Style
subject = NegatedConditionsInUnless.new subject = NegatedConditionsInUnless.new
describe NegatedConditionsInUnless do describe NegatedConditionsInUnless do

View file

@ -1,6 +1,6 @@
require "../../spec_helper" require "../../../spec_helper"
module Ameba::Rule module Ameba::Rule::Style
subject = PredicateName.new subject = PredicateName.new
describe PredicateName do describe PredicateName do

View file

@ -1,6 +1,6 @@
require "../../spec_helper" require "../../../spec_helper"
module Ameba::Rule module Ameba::Rule::Style
describe RedundantBegin do describe RedundantBegin do
subject = RedundantBegin.new subject = RedundantBegin.new

View file

@ -1,17 +1,17 @@
require "../../spec_helper" require "../../../spec_helper"
module Ameba module Ameba
subject = Rule::TypeNames.new subject = Rule::Style::TypeNames.new
private def it_reports_name(code, expected) private def it_reports_name(code, expected)
it "reports type name #{expected}" do it "reports type name #{expected}" do
s = Source.new code s = Source.new code
Rule::TypeNames.new.catch(s).should_not be_valid Rule::Style::TypeNames.new.catch(s).should_not be_valid
s.issues.first.message.should contain expected s.issues.first.message.should contain expected
end end
end end
describe Rule::TypeNames do describe Rule::Style::TypeNames do
it "passes if type names are camelcased" do it "passes if type names are camelcased" do
s = Source.new %( s = Source.new %(
class ParseError < Exception class ParseError < Exception

View file

@ -1,6 +1,6 @@
require "../../spec_helper" require "../../../spec_helper"
module Ameba::Rule module Ameba::Rule::Style
subject = UnlessElse.new subject = UnlessElse.new
describe UnlessElse do describe UnlessElse do

View file

@ -1,17 +1,17 @@
require "../../spec_helper" require "../../../spec_helper"
module Ameba module Ameba
subject = Rule::VariableNames.new subject = Rule::Style::VariableNames.new
private def it_reports_var_name(code, expected) private def it_reports_var_name(code, expected)
it "reports method name #{expected}" do it "reports method name #{expected}" do
s = Source.new code s = Source.new code
Rule::VariableNames.new.catch(s).should_not be_valid Rule::Style::VariableNames.new.catch(s).should_not be_valid
s.issues.first.message.should contain expected s.issues.first.message.should contain expected
end end
end end
describe Rule::VariableNames do describe Rule::Style::VariableNames do
it "passes if var names are underscore-cased" do it "passes if var names are underscore-cased" do
s = Source.new %( s = Source.new %(
class Greeting class Greeting

View file

@ -1,4 +1,4 @@
require "../../spec_helper" require "../../../spec_helper"
valid_source = <<-EOF valid_source = <<-EOF
a = 1 a = 1
@ -16,7 +16,7 @@ while true
end end
EOF EOF
module Ameba::Rule module Ameba::Rule::Style
subject = WhileTrue.new subject = WhileTrue.new
describe WhileTrue do describe WhileTrue do

View file

@ -54,16 +54,16 @@ module Ameba
context "invalid syntax" do context "invalid syntax" do
it "reports a syntax error" do it "reports a syntax error" do
rules = [Rule::Syntax.new] of Rule::Base rules = [Rule::Lint::Syntax.new] of Rule::Base
source = Source.new "def bad_syntax" source = Source.new "def bad_syntax"
Runner.new(rules, [source], formatter).run Runner.new(rules, [source], formatter).run
source.should_not be_valid source.should_not be_valid
source.issues.first.rule.name.should eq Rule::Syntax.rule_name source.issues.first.rule.name.should eq Rule::Lint::Syntax.rule_name
end end
it "does not run other rules" do it "does not run other rules" do
rules = [Rule::Syntax.new, Rule::ConstantNames.new] of Rule::Base rules = [Rule::Lint::Syntax.new, Rule::Style::ConstantNames.new] of Rule::Base
source = Source.new %q( source = Source.new %q(
MyBadConstant = 1 MyBadConstant = 1
@ -78,14 +78,14 @@ module Ameba
context "unneeded disables" do context "unneeded disables" do
it "reports an issue if such disable exists" do it "reports an issue if such disable exists" do
rules = [Rule::UnneededDisableDirective.new] of Rule::Base rules = [Rule::Lint::UnneededDisableDirective.new] of Rule::Base
source = Source.new %( source = Source.new %(
a = 1 # ameba:disable LineLength a = 1 # ameba:disable LineLength
) )
Runner.new(rules, [source], formatter).run Runner.new(rules, [source], formatter).run
source.should_not be_valid source.should_not be_valid
source.issues.first.rule.name.should eq Rule::UnneededDisableDirective.rule_name source.issues.first.rule.name.should eq Rule::Lint::UnneededDisableDirective.rule_name
end end
end end
end end

View file

@ -1,6 +1,6 @@
require "./ameba/*" require "./ameba/*"
require "./ameba/ast/**" require "./ameba/ast/**"
require "./ameba/rule/*" require "./ameba/rule/**"
require "./ameba/formatter/*" require "./ameba/formatter/*"
require "./ameba/support/*" require "./ameba/support/*"

View file

@ -31,7 +31,7 @@ module Ameba::Formatter
private def rule_issues_map(issues) private def rule_issues_map(issues)
Hash(Rule::Base, Array(Issue)).new.tap do |h| Hash(Rule::Base, Array(Issue)).new.tap do |h|
issues.each do |issue| issues.each do |issue|
next if issue.disabled? || issue.rule.is_a? Rule::Syntax next if issue.disabled? || issue.rule.is_a? Rule::Lint::Syntax
h[issue.rule] ||= Array(Issue).new h[issue.rule] ||= Array(Issue).new
h[issue.rule] << issue h[issue.rule] << issue
end end

View file

@ -2,8 +2,8 @@ module Ameba::Rule
# List of names of the special rules, which # List of names of the special rules, which
# behave differently than usual rules. # behave differently than usual rules.
SPECIAL = [ SPECIAL = [
Syntax.rule_name, Lint::Syntax.rule_name,
UnneededDisableDirective.rule_name, Lint::UnneededDisableDirective.rule_name,
] ]
# Represents a base of all rules. In other words, all rules # Represents a base of all rules. In other words, all rules
@ -96,7 +96,7 @@ module Ameba::Rule
end end
protected def self.rule_name protected def self.rule_name
name.gsub("Ameba::Rule::", "") name.gsub("Ameba::Rule::", "").gsub("::", "/")
end end
protected def self.subclasses protected def self.subclasses

View file

@ -1,4 +1,4 @@
module Ameba::Rule module Ameba::Rule::Layout
# A rule that disallows lines longer than `max_length` number of symbols. # A rule that disallows lines longer than `max_length` number of symbols.
# #
# YAML configuration example: # YAML configuration example:

View file

@ -1,4 +1,4 @@
module Ameba::Rule module Ameba::Rule::Layout
# A rule that disallows trailing blank lines at the end of the source file. # A rule that disallows trailing blank lines at the end of the source file.
# #
# YAML configuration example: # YAML configuration example:

View file

@ -1,4 +1,4 @@
module Ameba::Rule module Ameba::Rule::Layout
# A rule that disallows trailing whitespaces. # A rule that disallows trailing whitespaces.
# #
# YAML configuration example: # YAML configuration example:

View file

@ -1,4 +1,4 @@
module Ameba::Rule module Ameba::Rule::Lint
# A rule that disallows comparison to booleans. # A rule that disallows comparison to booleans.
# #
# For example, these are considered invalid: # For example, these are considered invalid:

View file

@ -1,4 +1,4 @@
module Ameba::Rule module Ameba::Rule::Lint
# A rule that disallows calls to debugger. # A rule that disallows calls to debugger.
# #
# This is because we don't want debugger breakpoints accidentally being # This is because we don't want debugger breakpoints accidentally being

View file

@ -1,4 +1,4 @@
module Ameba::Rule module Ameba::Rule::Lint
# A rule that disallows empty ensure statement. # A rule that disallows empty ensure statement.
# #
# For example, this is considered invalid: # For example, this is considered invalid:

View file

@ -1,4 +1,4 @@
module Ameba::Rule module Ameba::Rule::Lint
# A rule that disallows empty expressions. # A rule that disallows empty expressions.
# #
# This is considered invalid: # This is considered invalid:

View file

@ -1,4 +1,4 @@
module Ameba::Rule module Ameba::Rule::Lint
# A rule that disallows duplicated keys in hash literals. # A rule that disallows duplicated keys in hash literals.
# #
# This is considered invalid: # This is considered invalid:

View file

@ -1,4 +1,4 @@
module Ameba::Rule module Ameba::Rule::Lint
# A rule that disallows useless conditional statements that contain a literal # A rule that disallows useless conditional statements that contain a literal
# in place of a variable or predicate function. # in place of a variable or predicate function.
# #

View file

@ -1,4 +1,4 @@
module Ameba::Rule module Ameba::Rule::Lint
# A rule that disallows useless string interpolations # A rule that disallows useless string interpolations
# that contain a literal value instead of a variable or function. # that contain a literal value instead of a variable or function.
# #

View file

@ -1,4 +1,4 @@
module Ameba::Rule module Ameba::Rule::Lint
# A rule that disallows some unwanted symbols in percent array literals. # A rule that disallows some unwanted symbols in percent array literals.
# #
# For example, this is usually written by mistake: # For example, this is usually written by mistake:

View file

@ -1,4 +1,4 @@
module Ameba::Rule module Ameba::Rule::Lint
# A rule that disallows `rand(0)` and `rand(1)` calls. # A rule that disallows `rand(0)` and `rand(1)` calls.
# Such calls always return `0`. # Such calls always return `0`.
# #

View file

@ -1,4 +1,4 @@
module Ameba::Rule module Ameba::Rule::Lint
# A rule that disallows shadowed arguments. # A rule that disallows shadowed arguments.
# #
# For example, this is considered invalid: # For example, this is considered invalid:

View file

@ -1,4 +1,4 @@
module Ameba::Rule module Ameba::Rule::Lint
# A rule that disallows a rescued exception that get shadowed by a # A rule that disallows a rescued exception that get shadowed by a
# less specific exception being rescued before a more specific # less specific exception being rescued before a more specific
# exception is rescued. # exception is rescued.

View file

@ -1,4 +1,4 @@
module Ameba::Rule module Ameba::Rule::Lint
# A rule that disallows the usage of the same name as outer local variables # A rule that disallows the usage of the same name as outer local variables
# for block or proc arguments. # for block or proc arguments.
# #

View file

@ -1,4 +1,4 @@
module Ameba::Rule module Ameba::Rule::Lint
# A rule that reports invalid Crystal syntax. # A rule that reports invalid Crystal syntax.
# #
# For example, this syntax is invalid: # For example, this syntax is invalid:

View file

@ -1,4 +1,4 @@
module Ameba::Rule module Ameba::Rule::Lint
# A rule that reports unneeded disable directives. # A rule that reports unneeded disable directives.
# For example, this is considered invalid: # For example, this is considered invalid:
# #

View file

@ -1,4 +1,4 @@
module Ameba::Rule module Ameba::Rule::Lint
# A rule that reports unused arguments. # A rule that reports unused arguments.
# For example, this is considered invalid: # For example, this is considered invalid:
# #

View file

@ -1,4 +1,4 @@
module Ameba::Rule module Ameba::Rule::Lint
# A rule that disallows useless assignments. # A rule that disallows useless assignments.
# #
# For example, this is considered invalid: # For example, this is considered invalid:

View file

@ -1,4 +1,4 @@
module Ameba::Rule module Ameba::Rule::Lint
# A rule that disallows useless conditions in when clause # A rule that disallows useless conditions in when clause
# where it is guaranteed to always return the same result. # where it is guaranteed to always return the same result.
# #

View file

@ -1,4 +1,4 @@
module Ameba::Rule module Ameba::Rule::Style
# A rule that enforces constant names to be in screaming case. # A rule that enforces constant names to be in screaming case.
# #
# For example, these constant names are considered valid: # For example, these constant names are considered valid:

View file

@ -1,4 +1,4 @@
module Ameba::Rule module Ameba::Rule::Style
# A rule that disallows usage of large numbers without underscore. # A rule that disallows usage of large numbers without underscore.
# These do not affect the value of the number, but can help read # These do not affect the value of the number, but can help read
# large numbers more easily. # large numbers more easily.

View file

@ -1,4 +1,4 @@
module Ameba::Rule module Ameba::Rule::Style
# A rule that enforces method names to be in underscored case. # A rule that enforces method names to be in underscored case.
# #
# For example, these are considered valid: # For example, these are considered valid:

View file

@ -1,4 +1,4 @@
module Ameba::Rule module Ameba::Rule::Style
# A rule that disallows negated conditions in unless. # A rule that disallows negated conditions in unless.
# #
# For example, this is considered invalid: # For example, this is considered invalid:

View file

@ -1,4 +1,4 @@
module Ameba::Rule module Ameba::Rule::Style
# A rule that disallows tautological predicate names, meaning those that # A rule that disallows tautological predicate names, meaning those that
# start with the prefix `has_` or the prefix `is_`. Ignores if the alternative isn't valid Crystal code (e.g. `is_404?`). # start with the prefix `has_` or the prefix `is_`. Ignores if the alternative isn't valid Crystal code (e.g. `is_404?`).
# #

View file

@ -1,4 +1,4 @@
module Ameba::Rule module Ameba::Rule::Style
# A rule that disallows redundant begin blocks. # A rule that disallows redundant begin blocks.
# #
# Currently it is able to detect: # Currently it is able to detect:

View file

@ -1,4 +1,4 @@
module Ameba::Rule module Ameba::Rule::Style
# A rule that enforces type names in camelcase manner. # A rule that enforces type names in camelcase manner.
# #
# For example, these are considered valid: # For example, these are considered valid:

View file

@ -1,4 +1,4 @@
module Ameba::Rule module Ameba::Rule::Style
# A rule that disallows the use of an `else` block with the `unless`. # A rule that disallows the use of an `else` block with the `unless`.
# #
# For example, the rule considers these valid: # For example, the rule considers these valid:

View file

@ -1,4 +1,4 @@
module Ameba::Rule module Ameba::Rule::Style
# A rule that enforces variable names to be in underscored case. # A rule that enforces variable names to be in underscored case.
# #
# For example, these variable names are considered valid: # For example, these variable names are considered valid:

View file

@ -1,4 +1,4 @@
module Ameba::Rule module Ameba::Rule::Style
# A rule that disallows the use of `while true` instead of using the idiomatic `loop` # A rule that disallows the use of `while true` instead of using the idiomatic `loop`
# #
# For example, this is considered invalid: # For example, this is considered invalid:

View file

@ -21,7 +21,7 @@ module Ameba
@formatter : Formatter::BaseFormatter @formatter : Formatter::BaseFormatter
# A syntax rule which always inspects a source first # A syntax rule which always inspects a source first
@syntax_rule = Rule::Syntax.new @syntax_rule = Rule::Lint::Syntax.new
# Checks for unneeded disable directives. Always inspects a source last # Checks for unneeded disable directives. Always inspects a source last
@unneeded_disable_directive_rule : Rule::Base? @unneeded_disable_directive_rule : Rule::Base?
@ -43,7 +43,7 @@ module Ameba
@unneeded_disable_directive_rule = @unneeded_disable_directive_rule =
config.rules config.rules
.find &.name.==(Rule::UnneededDisableDirective.rule_name) .find &.name.==(Rule::Lint::UnneededDisableDirective.rule_name)
end end
# :nodoc: # :nodoc: