Commit Graph

81 Commits

Author SHA1 Message Date
Matt Jankowski
72b0c9e20b Re-enable fixed Style/Semicolon cop (#29212) 2024-02-19 13:35:13 +00:00
Matt Jankowski
1d9d14b8de Use abort instead of warn(); exit in boot.rb env check (#29209) 2024-02-16 14:29:24 +00:00
Matt Jankowski
79b4b94f3a Configure CountAsOne value for RSpec/ExampleLength cop (#29115) 2024-02-07 14:54:40 +00:00
Matt Jankowski
ce0d134147 Add redirect_with_vary to AllowedMethods for Style/FormatStringToken cop (#28973) 2024-01-30 15:39:01 +00:00
Matt Jankowski
0e0a94f483 Handle CLI failure exit status at the top-level script (#28322) 2024-01-26 08:53:44 +00:00
Matt Jankowski
127503eb2c Fix Rails/RakeEnvironment cop (#28782) 2024-01-17 16:33:17 +00:00
Matt Jankowski
a2f02a0775 Disable Rails/SkipsModelValidations cop (#28712) 2024-01-15 13:46:47 +00:00
Matt Jankowski
28fdf93362 Disable Rails/LexicallyScopedActionFilter for inherited auth controllers (#28711) 2024-01-12 13:10:14 +00:00
Matt Jankowski
b3dab17b58 Remove deprecated RSpec/FilePath cop (#28601) 2024-01-05 12:31:18 +00:00
Matt Jankowski
51d2b80ff7 Solve Abc/* metrics for db/*migrate* files (#28568) 2024-01-03 13:22:03 +00:00
Matt Jankowski
0b42cf2979 Opt out of Rails/NegateInclude cop (#28370) 2023-12-18 12:21:45 +00:00
Matt Jankowski
8e9e7d57d8 Opt out of Rails/UnusedIgnoredColumns cop (#28385) 2023-12-18 09:58:53 +00:00
Matt Jankowski
3e336fe706 Opt out of Rails/SkipsModelValidations cop in db/migrate (#28371) 2023-12-15 14:38:12 +00:00
Matt Jankowski
d6f50839e1 Fix RSpec/SpecFilePathFormat cops (#27730) 2023-11-06 16:25:40 +00:00
Matt Jankowski
7ef56d6e50 Move json_ld context loaders to config/initializers (#27590) 2023-10-31 15:21:23 +00:00
Nick Schonning
8bb4706e11 Move migration_helpers Rubocop ignore to config (#24236) 2023-10-03 14:58:40 +02:00
Matt Jankowski
937dc42f10 Extract methods for file movement in CLI::Upgrade (#25120) 2023-09-28 16:04:05 +02:00
Matt Jankowski
ad81be6c8e Update rubocop rules for linelength (#26190) 2023-07-28 23:11:45 +02:00
Matt Jankowski
f48d345de1 Use correct naming on controller concern specs (#26197) 2023-07-27 14:27:21 +02:00
Nick Schonning
f134a5f9d8 Run Rubocop on Rakefile (#23871) 2023-07-12 09:47:54 +02:00
Nick Schonning
9e8bc56d5a Enable Rubocop Style/Semicolon with config (#23652) 2023-07-12 09:44:15 +02:00
Jed Fox
768b00c4d0 Consistently use middle dot (·) instead of bullet (•) to separate items (#25248) 2023-06-02 19:58:18 +02:00
Renaud Chaput
b7d995cb00 Disable some metrics cops (#25215) 2023-05-31 23:33:10 +02:00
Matt Jankowski
b6b4ea4ca5 Move the mastodon/*_cli files to mastodon/cli/* (#24139) 2023-05-23 16:08:26 +02:00
Matt Jankowski
541f64b2bb Fix Rails/Exit cop (#24743) 2023-05-23 13:26:10 +02:00
eggplants
af7bf59b3e Fix wrong documentation link (#24924) 2023-05-09 14:56:02 +02:00
Nick Schonning
1fe04f740a Enable Rubocop Rails/FilePath (#23854) 2023-05-04 05:50:40 +02:00
Matt Jankowski
41eb49b984 Extract large route namespace blocks to separate files (#23914) 2023-05-02 15:41:20 +02:00
Claire
32a030dd74 Rewrite import feature (#21054) 2023-05-02 12:08:48 +02:00
Nick Schonning
49fad26eca Drop EOL Ruby 2.7 (#24237) 2023-04-27 01:46:18 +02:00
Nick Schonning
1f19d5e5e8 Add documentation for Rubocop overrides (#23811) 2023-03-31 16:08:53 +02:00
Nick Schonning
83fc97285b Enable Rubocop Metrics/BlockLength with Excludes (#24260) 2023-03-31 09:33:25 +02:00
Eugen Rochko
a9b5598c97 Change user settings to be stored in a more optimal way (#23630)
Co-authored-by: Claire <claire.github-309c@sitedethib.com>
2023-03-30 14:44:00 +02:00
Nick Schonning
503022d6f9 Exclude files for Rubocop Metrics/ClassLength (#24213) 2023-03-23 23:19:41 +01:00
Nick Schonning
b22b4bac03 Include config/ and update all rubcop deps (#23963) 2023-03-17 10:13:28 +01:00
Matt Jankowski
edc7ca5920 Roll back unintentionally activated rubocop rules (#24132)
Co-authored-by: Eugen Rochko <eugen@zeonfederated.com>
Co-authored-by: Nick Schonning <nschonni@gmail.com>
2023-03-16 22:24:01 +01:00
Nick Schonning
aa947a143b Regen rubocop-todo without Max shadowing (#24076) 2023-03-16 12:31:08 +09:00
Nick Schonning
3ea0856f70 Enable RSpec/FilePath (#23965) 2023-03-10 16:32:37 +01:00
Nick Schonning
82a6cf4012 Enable Rubocop for app/views (#23874) 2023-03-05 00:33:52 +01:00
Claire
aa98c8fbeb Disable Style/SymbolArray (#23921) 2023-03-03 22:55:43 +01:00
Christian Schmidt
5a8c651e8f Only offer translation for supported languages (#23879) 2023-03-03 21:06:31 +01:00
Nick Schonning
59c8d43d94 Autofix Rubocop Style/RescueStandardError (#23745) 2023-02-20 11:01:20 +01:00
Nick Schonning
aef0051fd0 Enable Rubocop HTTP status rules (#23717) 2023-02-20 11:16:40 +09:00
Nick Schonning
65ba0d92ef Enable Rubocop RSpec/NotToNot (#23723) 2023-02-20 02:33:27 +01:00
Nick Schonning
7a941b42d3 Remove Style/Copyright Rubocop (#23665) 2023-02-18 03:26:41 +01:00
Nick Schonning
ac59d6f19f Enable Rubocop Style/NumericLiterals (#23647) 2023-02-18 11:05:57 +09:00
Nick Schonning
68a92c81bf Generate minimimal Rubocop Todo file (#23629) 2023-02-16 15:33:50 +09:00
Nick Schonning
3c70f0a9c9 Run Prettier on YML files (#22345) 2022-12-16 11:11:52 +09:00
Kaspar V
19f78ea8fa linting: RuboCop update, config fixes (#20574)
* fix(rubocop): update gems and add performance and rspec

fix(rubocop): update gems and add performance and rspec

- update present rubocop gems
- add rubocop-rspec and rubocop-performance gems
- move rubocop gems to gem group :development, :test in order to
  make linting in a github action that runs with RAILS_ENV=test possible

* feat(rubocop): disable some annoyance RSpec cops

To mee these prooved to be more annoying than helpful.
If not agreed, they can be enabled any time.

* fix(rubocop): do not ignore spec/**/*

Because rubocop-rspec should lint the specs as well, and they
deserve to be readable in general. It is relevant code, after all.

* fix(rubocop): change ignore db/**/* to db/schema.rb

because rails cops do some lints for migrations.
E.g. reversable migrations linting and more.

* fix(rubocop): tune rules configs

Bunch of commits squashed:

fix(rubocop): enable Layout/LineLength cop

Because this project has code with line lenghts > 500 chars.
This is not good practice at all, so I strongly suggest to
change the practice in the future.

But allow heredoc, URI and comments to still be long lines
and make the default Max: 120 explicit, by repeating it in the
config. To me this max length seems reasonable. Perhaps
a bit more could be ok for some. But > 500 chars in one line
Seems to be way too long IMHO.

fix(rubocop): Metrics/CyclomaticComplexity Max to 12

The default is 7, perhaps quite strict. But 25 is too loose,
the rule becomes pointless like that.

fix(rubocop): AllCops ruby version, cacheing and more info

- fix the target ruby version from 2.5 to 3.0
- have the cop error messages to be more informative and helpful
- enable cacheing in /tmp

fix(rubocop): Metrics/AbcSize to 34 from 115

Rubocops default is 17. If the rule is at 115 is becomes
pointless.

fix(rubocop): Metrics/BlockLength improvements

- instead of ignoring tasks completely, ignore only the
  long blocks that are specific to tasks (task, namespace)
- ignore also concern specific block methods (included, class_methods)

fix(rubocop): Metrics/ClassLength count heredoc array as one line

fix(rubocop): Metrics/MethodLength Max to 25

- the default is 10, but 65 is too loose, so perhaps 25?

fix(rubocop): Metrics/ModuleLength array and heredoc count as one

fix(rubocop): Metrics/PerceivedComplexity to 16 from 25

Rubocops default is 8, so how about only doubling that, instead
of > than tripple it?

fix(rubocop): enable Style/RedundantAssignment

Because I think that this rule would never really hurt,
but improve code quality and readability.

fix(rubocop): enable Style/RescueStandardError

I think everyone that ever had to debug what this can bring
will hopefully agree that this rule totally makes sense.
In the super rare exeptions where this is totally needed,
it can be excluded by disabling comment in that place.

fix(rubocop): Metrics/ParameterLists add explicit defaults and some excludes
2022-12-15 16:39:59 +01:00
Claire
098ced7420 Remove support for Ruby 2.6 (#21477)
As pointed out by https://github.com/mastodon/mastodon/pull/21297#discussion_r1028372193
at least one of our dependencies already dropped support for Ruby 2.6, and we
had removed Ruby 2.6 tests from the CI over a year ago (#16861).

So stop advertising Ruby 2.6 support, bump targeted version, and drop some
compatibility code.
2022-11-27 20:41:39 +01:00