ruby-on-rails ruby code-metrics rubocop

ruby on rails - ¿Qué se entiende por ''Tamaño de condición de rama de asignación demasiado alto'' y cómo solucionarlo?



ruby-on-rails code-metrics (1)

El tamaño de la Condición de rama de asignación (ABC) es una medida del tamaño de un método. Se determina esencialmente contando el número de asignaciones A , ranchos B y declaraciones condicionales C. (mas detalle..)

Para reducir el tamaño de ABC, puede mover algunas de esas asignaciones a llamadas before_action:

before_action :fetch_current_category, only: [:show,:edit,:update] before_action :fetch_categories, only: [:show,:edit,:update] before_action :fetch_search_results, only: [:show,:edit,:update] #or whatever def show rate end private def fetch_current_category @category = Category.friendly.find(params[:id]) end def fetch_categories @categories = Category.all end def fetch_search_results @search = category.products.approved.order(updated_at: :desc).ransack(params[:q]) @products = @search.result.page(params[:page]).per(50) end

En mi aplicación Rails, uso Rubocop para buscar problemas. Hoy me dio un error como este: El Assignment Branch Condition size for show is too high . Aquí está mi código:

def show @category = Category.friendly.find(params[:id]) @categories = Category.all @search = @category.products.approved.order(updated_at: :desc).ransack(params[:q]) @products = @search.result.page(params[:page]).per(50) rate end

¿Qué significa esto y cómo puedo solucionarlo?