En mi aplicación Rails, utilizo Rubocop
para comprobar si hay problemas. Hoy en día me dio un error como este: 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?
ruby-on-rails
ruby
code-metrics
rubocop
THpubs
fuente
fuente
rubocop
forma formal de decir "su método hace demasiado".Respuestas:
El tamaño de la condición de rama de asignación (ABC) es una medida del tamaño de un método. Esencialmente se determina contando el número de asignaciones A , ranchos B y declaraciones C ondicionales. (mas detalle..)
Para reducir la puntuación ABC, puede mover algunas de esas asignaciones a llamadas before_action:
fuente