Commit Graph

37 Commits

Author SHA1 Message Date
Javi Martín
4de4045fcc Allow instance variables in has filter/order specs
These files create a fake class using an instance variable. While the
proper thing to do would be to refactor the `HasOrders` and `HasFilters`
concerns so they didn't use instance variables but methods, I don't
think that's going to happen in the near future.
2019-09-30 16:43:10 +02:00
Javi Martín
91c21b0982 Remove instance variables in RSpec
Instance variables might lead to hard-to-detect issues, since using a
nonexistent instance variable will return `nil` instead of raising an
error.
2019-09-30 16:43:10 +02:00
Javi Martín
ffc50246c2 Apply explict RSpec/DescribedClass rubocop rule
We settled on using this style in commit 4cbe81a1, but didn't add the
rule enforcing this style and we didn't apply it to existing code.
2019-09-23 16:51:00 +02:00
Javi Martín
97ec8776ab Reduce severity of LineLength rule
Since we're ignoring this rule in many places, we're marking it in a
different way so it's clear we're not as strict with this rule.
2019-09-10 22:27:33 +02:00
Javi Martín
2243809d2e Move basic RSpec rubocop rules to basic cops
These are rules we were already applying.

We've excluded the `factories` folder for some rules because there's a
factory defining a `context` attribute, which rubocop thought was the
`context` RSpec keyword.
2019-09-10 21:43:39 +02:00
Javi Martín
59e107e565 Apply RSpec/HookArgument rubocop rule 2019-09-10 21:43:39 +02:00
Javi Martín
9541ce892c Apply Bundler rubocop rules
We're not using the InsecureProtocolSource rule because I don't feel
it's necessary.
2019-09-10 21:43:39 +02:00
Javi Martín
c05b9c2aac Apply Capybara/CurrentPathExpectation rubocop rule 2019-09-10 21:43:39 +02:00
Javi Martín
969a4e21c9 Apply RSpec/RepeatedExample rubocop rule 2019-09-10 21:43:39 +02:00
Javi Martín
044eabd7ef Apply Rspec/LetSetup rubocop rule 2019-09-10 21:43:39 +02:00
Javi Martín
58ba517717 Apply RSpec/ExampleWording rubocop rule 2019-09-10 21:43:39 +02:00
Javi Martín
0788925c1b Apply Rails/Validation rubocop rule 2019-09-10 21:43:39 +02:00
Javi Martín
27c73c22ea Configure Rails/UnknownEnv rubocop rule
We use staging and preproduction environments, which are not valid by
default.

This rule is useful because misspelling the name of an environment might
otherwise go unnoticed.
2019-09-10 21:43:39 +02:00
Javi Martín
9fe8c47528 Apply Rails/SafeNavigation rubocop rule 2019-09-10 21:43:39 +02:00
Javi Martín
daa86ca3fc Apply Rails/RequestReferer rubocop rule 2019-09-10 21:43:39 +02:00
Javi Martín
a5ba13b599 Apply Rails/Presence rubocop rule 2019-09-10 21:43:38 +02:00
Javi Martín
adc5906253 Apply Rails/PluralizationGrammar rubocop rule 2019-09-10 21:43:38 +02:00
Javi Martín
f9ed186909 Add rubocop spacing rules
We were following these rules in most places; we just didn't define them
anywhere.
2019-09-10 21:04:56 +02:00
Javi Martín
488461b8ac Remove consecutive blank lines 2019-09-10 20:02:15 +02:00
Javi Martín
b5b07bccd3 Apply PercentLiteralDelimiters rubocop rule 2019-09-10 20:02:15 +02:00
Javi Martín
5c5d798590 Don't use Include in rubocop configuration file
The Rakefile and config.ru files are now included by default, and the
behaviour of `Include` changed in Rubocop 0.56.0 (see rubocop's pull
request 5882) so now it **only** includes the files defined there, while
in the past it included those files in addition to the default files.
2019-09-10 19:21:02 +02:00
Javi Martín
a27ada662d Move Rails/Date and Rails/TimeZone to basic cops
Using Date.today and Time.now is a common mistake which might lead to
obscure bugs. Now we're making sure we'll receive a warning when a pull
request uses these methods.
2019-08-28 20:32:40 +02:00
Javi Martín
c2869f4887 Move Rails/RelativeDateConstant to basic cops
The reason for this rule is similar to dynamic factories: we want
dynamic dates to be evaluted relative to the current time, and not
relative to the moment the application was loaded.
2019-08-07 19:43:59 +02:00
Javi Martín
444fc524f7 Use the AttributeDefinedStatically rubocop rule
Factory bot has stopped supporting dynamic attributes, and we'll have to
change all factories before upgrading.

In order to apply the rubocop rule, we need to bump rubocop-rspec to its
latest version.
2019-08-07 19:41:45 +02:00
Javi Martín
ae98dbf683 Use Rails 5.1 conventions in tests params 2019-08-07 15:50:00 +02:00
Javi Martín
bd85aede99 Use describe on new feature tests
The `type: :feature` is automatically detected by RSpec because these
tests are inside the `spec/features` folder. Using `feature` re-adds a
`type: :feature` to these files, which will result in a conflict when we
upgrade to Rails 5.1's system tests.

Because of this change, we also need to change `background` to `before`
or else these tests will fail.

We're also adding a rubocop rule so we dont' accidentally add these
keywords again.
2019-08-07 13:53:27 +02:00
Javi Martín
765d405df1 Use Rails 5 conventions in migrations and models
We forgot to add these changes to pull requests which were in
development before we upgraded to Rails 5.

We're also moving the rubocop rules to the basic files, so we're
notified when we inherit from `ActiveRecord::Base`.
2019-08-07 13:53:27 +02:00
Julian Herrero
7066dd50d5 Allow lines to be 110 characters long 2019-05-23 13:16:02 +02:00
Javi Martín
002599231f Enable rubocop rules in config and seed files
We were unintentionally ignoring them while trying to ignore just the
schema file, migration files, and initializers generated with `rails
generate`
2019-03-20 14:34:04 +01:00
Julian Herrero
6d281affa5 Use double quotes 2019-03-15 10:29:07 +01:00
Javi Martín
e11b9ddccd Enable literal as condition rule in rubocop
This way deverlopers who don't run the ruby syntax check locally with
warnings enabled will be informed by HoundCI.
2019-02-15 20:21:35 +01:00
Javi Martín
a69004ab95 Enable useless assignment rubocop rule
This way deverlopers who don't run the ruby syntax check locally with
warnings enabled will be informed by HoundCI.
2019-02-15 16:31:34 +01:00
Julian Herrero
4af0de2d1d Enable double quotes rubocop rule 2019-01-14 13:13:37 +01:00
decabeza
15dbfdf6e8 Enable line length rubocop rule 2019-01-09 13:45:42 +01:00
Javi Martín
d3671491e8 Enable indentation width cop
This cop is necessary so the `Layout/IndentationConsistency` cop works
properly when its `EnforcedStyle` is set to `Rails`, and so incorrect
indentation for `private` methods is properly detected.
2018-12-28 14:00:41 +01:00
voodoorai2000
c1455cb93c Add not_to Rubocop rule to Hound
https://www.rubydoc.info/gems/rubocop-rspec/1.5.0/RuboCop/Cop/RSpec/NotToNot
2018-12-15 12:41:07 +01:00
Javi Martín
4048d17203 Add basic rubocop configuraton for Hound
This way we can ask contributors to follow some basic guidelines like
removing trailing whitespaces while not overwhelming them with all our
rules.
2018-10-26 11:46:17 +02:00