我有一个方法被 RuboCop 报告为太长:每个方法只允许七行。这是有问题的方法:
def on(definition, visit = false, &block)
if @active.is_a?(definition)
block.call @active if block
return @active
end
@active = definition.new
@active.load if visit
block.call @active if block
@active
end
我打算将顶级if
条件转换为保护子句,但我不知道该怎么做。
我尝试将第 7 行和第 8 行合并为:
@active = definition.new().load if visit
但这绝对行不通。
我无法激活 RuboCop 违规行为,也无法更改容差。