Como añadir rubocop a tu proyecto Rails


RuboCop es un analizador  estatico de codigo Ruby.

Para añadirlo solo tenemos que:

1.- Abrir nuestro fichero Gemfile  y añadir la siguiente linea.

gem 'rubocop', require: false

Y en realidad yo solo lo añadiria para test y desarrollo o solo desarrollo. Asi que mejor esta segunda opcion. Luego ya podeis decirle a git que no suba nada sino te comprueba rubocop.

group :development do
  gem 'rubocop', require: false
end

 

2.- Ahora hacemos un bundle install ( para instalar la gema) o si lo preferis lo primero que podemos hacer es añadir la gema y luego añadirlo al Gemfile.

bundle install

 

Ahora con esto ya tenemos rubocop y podriamos probarlo lanzando el comando ‘rubocop’ en el terminal el problema es que se va a volver loco , va a hacerlo sobre todos los vendors y bla bla.

3.-  Asi que antes de nada vamos a crearnos un fichero    .rubocop.yml

AllCops:
  Includes:
    - Rakefile
    - config.ru
  Excludes:
    - db/**
    - config/**
    - script/**
    - vendor/**/* # Circle adds the rubies here

Podemos añadir mas cosas pero de momento vamos con esto.

 

4.- Ahora podemos lanzar el comando rubocop asi que en el terminal poneis rubocop. Vereis que salen muchos muchos mensajes.
Lo mejor es dejar todo como esta y crear un rubocop_todo.yml automaticamente que va a hacer que todo lo que ya teniamos mal lo deje como esta y  nos pinte esos fallos. Esto no quiere decir que lo dejemos ahi sino que los vayamos arreglando poco a poco y nos acostumbremos a sintaxis.

rubocop --auto-gen-config

Y nos creara un fichero que se llamara .rubocop_todo.yml y añadira en el fichero .rubocop.yml en la primera linea lo siguiente:

inherit_from: .rubocop_todo.yml
AllCops:
  Include:
    - Rakefile
    - config.ru
    - lib/**/*.rake
  Exclude:
    - db/schema.rb
    - spec/teaspoon_env.rb
    - vendor/**/* # Circle adds the rubies here