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
|
end
|
||||||
|
|
||||||
context "macro" do
|
context "macro" do
|
||||||
it "reports in macro scope" do
|
it "doesn't report in macro scope" do
|
||||||
source = Source.new %(
|
source = Source.new %(
|
||||||
{{ [1, 2, nil].reject(&.nil?) }}
|
{{ [1, 2, nil].reject(&.nil?) }}
|
||||||
)
|
)
|
||||||
subject.catch(source).should_not be_valid
|
subject.catch(source).should be_valid
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
|
@ -46,6 +46,15 @@ module Ameba::Rule::Style
|
||||||
|
|
||||||
MSG = "Use `%s(%s)` instead of `%s {...}`"
|
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)
|
def test(source, node : Crystal::Call)
|
||||||
return unless node.name.in?(filter_names)
|
return unless node.name.in?(filter_names)
|
||||||
return unless (block = node.block)
|
return unless (block = node.block)
|
||||||
|
|
Loading…
Reference in a new issue