diff --git a/spec/ameba/rule/style/verbose_block_spec.cr b/spec/ameba/rule/style/verbose_block_spec.cr index d7851ba0..0373c2a4 100644 --- a/spec/ameba/rule/style/verbose_block_spec.cr +++ b/spec/ameba/rule/style/verbose_block_spec.cr @@ -25,6 +25,7 @@ module Ameba::Rule::Style (1..3).map { |l| l.to_i64 * l.to_i64 } (1..3).map { |m| m.to_s[start: m.to_i64, count: 3]? } (1..3).map { |n| n.to_s.split.map { |z| n.to_i * z.to_i }.join } + (1..3).map { |o| o.foo = foos[o.abs]? || 0 } CRYSTAL end diff --git a/src/ameba/rule/style/verbose_block.cr b/src/ameba/rule/style/verbose_block.cr index c91bae24..bb8b2cf7 100644 --- a/src/ameba/rule/style/verbose_block.cr +++ b/src/ameba/rule/style/verbose_block.cr @@ -99,6 +99,9 @@ module Ameba::Rule::Style node.named_args.try &.each do |arg| i += reference_count(arg.value, obj) end + when Crystal::BinaryOp + i += reference_count(node.left, obj) + i += reference_count(node.right, obj) when Crystal::Block i += reference_count(node.body, obj) when Crystal::Var @@ -230,7 +233,7 @@ module Ameba::Rule::Style # we filter out the blocks that are of call type - `i.to_i64.odd?` return unless (body = block.body).is_a?(Crystal::Call) - # we need to "unwind" the chain challs, so the final receiver object + # we need to "unwind" the chain calls, so the final receiver object # ends up being a variable - `i` obj = body.obj while obj.is_a?(Crystal::Call)