standardrb / standard-rails

A Standard Ruby plugin that configures rubocop-rails
MIT License
165 stars 15 forks source link
rails ruby standardrb

standard-rails

This gem provides a lint_roller plugin configuration for the rubocop-rails ruleset, for use as an extension to the Standard Ruby gem.

Usage

First, if you haven't already, get your app set up to run with the standard gem

Next, to add the standard-rails plugin, you'll want to start by adding it to your Gemfile:

gem "standard-rails", group: [:development, :test]

Next, in your .standard.yml file, list standard-rails as a plugin:

plugins:
  - standard-rails

Configuration

Even though it'll usually be inferred automatically, you can specify the exact version of Rails you want the rules to be run against like this:

plugins:
  - standard-rails:
      target_rails_version: 7.0

Ignoring violations from old migrations

Rails migrations are intended to be written as forward-compatible and subsequently unchanged, but they may contain Standard Ruby violations. Rather than apply fixes to those old migrations (and risk changing their behavior), you can ignore them in your .standard.yml like this:

ignore:
  # Legacy migrations
  - 'db/migrate/201*.rb'
  - 'db/migrate/2020*.rb'
  - 'db/migrate/2021*.rb'
  - 'db/migrate/2022*.rb'
  - 'db/migrate/2023*.rb'

Code of Conduct

This project follows Test Double's code of conduct for all community interactions, including (but not limited to) one-on-one communications, public posts/comments, code reviews, pull requests, and GitHub issues. If violations occur, Test Double will take any action they deem appropriate for the infraction, up to and including blocking a user from the organization's repositories.