简体   繁体   English

update_status 的分配分支条件大小太高。 [<1, 18, 8> 19.72/17]

[英]Assignment Branch Condition size for update_status is too high. [<1, 18, 8> 19.72/17]

How can i fix this, when i try to condition if user.completed?当我尝试调整 if user.completed 时,我该如何解决这个问题? == false or add when "completed", i will has error == false 或在“完成”时添加,我会出错

    def update_status
        status_cont = params[:status_cont]
        if user.completed? == false
          case status_cont
          when "waiting_email_confirm"
            user.waiting_email_confirm!
          when "email_confirmed"
            user.email_confirmed!
          when "ready_to_ship"
            user.ready_to_ship!
          when "shipped"
            user.shipped!
          when "canceled"
            user.canceled!
          when "completed"
            user.completed!
          end
        end
     end

There's a pattern in your case that you can use to simplify the logic.您的case中有一种模式可用于简化逻辑。 Something like this:像这样:

STATUS_CONTS = %w[canceled completed email_confirmed ready_to_ship shipped waiting_email_confirm]
private_constant :STATUS_CONTS

def update_status
  return if !user.completed?
  status_cont = params[:status_cont]
  raise "Unknown status_cont #{status_cont}" if !status_cont.in?(STATUS_CONTS)
  user.send("#{status_cont}!")
end

You'll probably want to handle unknown status_cont values differently but I don't know how the surrounding flow works.您可能希望以不同方式处理未知的status_cont值,但我不知道周围的流程是如何工作的。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 Metrics/AbcSize:fill_arrays 的分配分支条件大小太高。 [&lt;9, 21, 0&gt; 22.85/17] - Metrics/AbcSize: Assignment Branch Condition size for fill_arrays is too high. [<9, 21, 0> 22.85/17] Rubocop:方法的分配分支条件大小太高。 我怎样才能减少方法? - Rubocop: Assignment Branch Condition size for method is too high. How can I reduce the method? Rubocop 错误:function 的分配分支条件大小过高。 我怎样才能减少这个? - Rubocop error: Assignment Branch Condition size for a function is too high. How can I decrease this? rails查询对象中的“调用的分配分支条件大小太高” - "Assignment Branch Condition size for call is too high" in rails query object 分配分支条件太高 - Assignment Branch Condition is too high 什么是'分配分支条件大小太高'以及如何解决它? - What is meant by 'Assignment Branch Condition Size too high' and how to fix it? 重构代码以减少分配分支条件大小 - Refactor the code to reduce Assignment Branch Condition size 辅助分支条件太高 robocop 进攻 - assigenment branching condition is too high robocop offense 将Postgres连接池大小设置得太高会有什么风险? - What's the risk in setting the Postgres connection pool size too high? 这种方法如何超过Rubocop账户分支条件大小? - How is this method exceeding the Rubocop Account Branch Condition size?
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM