2016-06-16 5 views
0

TBH、これは少し狂っているようです。警察にそれを渡すためにこの機能を書く別の方法がありますか、それとも免除するべきですか?あなたはこの方法で何をしたいのかrails 4 apiのデフォルトの制限パラメータは警察に渡されません

コード

def set_default_limit 
    params[:limit] = params[:limit].to_i > 0 ? params[:limit] : AppSettings.api[:default_limit] 
    params[:limit] = AppSettings.api[:max_limit] if params[:limit].to_i > AppSettings.api[:max_limit] 
    end 

コップエラー

app/controllers/application_controller.rb:66:3: C: Assignment Branch Condition size for set_default_limit is too high. [18.22/15] 
    def set_default_limit 
    ^^^ 

答えて

1

は次のとおりです。

  1. params[:limit]が最大限界値を超えた場合、それを設定します最大限度額
  2. params[:limit]が0以下であれば、制限

コードデフォルトに設定します。

def set_default_limit 
    api_settings = AppSettings.api 

    if params[:limit].to_i > api_settings[:max_limit] 
    params[:limit] = api_settings[:max_limit] 
    elsif params[:limit].to_i <= 0 
    params[:limit] = api_settings[:default_limit] 
    end 
end 

Rubocop結果:

$ cat test.rb 
def set_default_limit 
    api_settings = AppSettings.api 

    if params[:limit].to_i > api_settings[:max_limit] 
    params[:limit] = api_settings[:max_limit] 
    elsif params[:limit].to_i <= 0 
    params[:limit] = api_settings[:default_limit] 
    end 
end 

$ rubocop test.rb 
Inspecting 1 file 
. 

1 file inspected, no offenses detected 
+0

はあなたに感謝を。あなたのコードの外観と私が "api_settings = AppSettings.api"を試したものが原因でした。 –

+1

はい、それは「ABC」サイズの主な要因であるAPI呼び出しです。 –

関連する問題