mirror of
https://gitea.invidious.io/iv-org/shard-ameba.git
synced 2024-08-15 00:53:29 +00:00
Merge pull request #223 from crystal-ameba/fix-issue-219
Skip macro code in `Style/IsAFilter` rule
This commit is contained in:
commit
f5628e6a11
2 changed files with 11 additions and 2 deletions
|
@ -38,11 +38,11 @@ module Ameba::Rule::Style
|
|||
end
|
||||
|
||||
context "macro" do
|
||||
it "reports in macro scope" do
|
||||
it "doesn't report in macro scope" do
|
||||
source = Source.new %(
|
||||
{{ [1, 2, nil].reject(&.nil?) }}
|
||||
)
|
||||
subject.catch(source).should_not be_valid
|
||||
subject.catch(source).should be_valid
|
||||
end
|
||||
end
|
||||
|
||||
|
|
|
@ -46,6 +46,15 @@ module Ameba::Rule::Style
|
|||
|
||||
MSG = "Use `%s(%s)` instead of `%s {...}`"
|
||||
|
||||
def test(source)
|
||||
AST::NodeVisitor.new self, source, skip: [
|
||||
Crystal::Macro,
|
||||
Crystal::MacroExpression,
|
||||
Crystal::MacroIf,
|
||||
Crystal::MacroFor,
|
||||
]
|
||||
end
|
||||
|
||||
def test(source, node : Crystal::Call)
|
||||
return unless node.name.in?(filter_names)
|
||||
return unless (block = node.block)
|
||||
|
|
Loading…
Reference in a new issue