Commit Graph

18 Commits

Author SHA1 Message Date
Javi Martín
38ad65605e Use excluding instead of where.not(id:
This method was added in Rails 7.0 and makes the code slihgtly more
readable.

The downside is that it generates two queries instead of one, so it
might generate some confusion when debugging SQL queries. Its impact on
performance is probably negligible.
2024-07-22 18:35:35 +02:00
Javi Martín
2abe9f27b5 Use ranges instead of comparisons in SQL queries
These cases aren't covered by the `Rails/WhereRange` rubocop rule, but
IMHO using ranges makes them more consistent. Besides, they generate SQL
which is more consistent with what Rails usually generates. For example,
`Poll.where("starts_at <= :time and ends_at >= :time", time:
Time.current)` generates:

```
SELECT \"polls\".\"id\", (...) WHERE \"polls\".\"hidden_at\" IS NULL AND
(starts_at <= '2024-07-(...)' and ends_at >= '2024-07-(...)')
```

And `Poll.where(starts_at: ..Time.current, ends_at: Time.current..)`
generates:

```
SELECT \"polls\".\"id\", (...) WHERE \"polls\".\"hidden_at\" IS NULL AND
\"polls\".\"starts_at\" <= '2024-07-(...)' AND \"polls\".\"ends_at\" >=
'2024-07-(...)'"
```

Note that the `not_archived` scope in proposals slightly changes, since
we were using `>` and now we use the equivalent of `>=`. However, since
the `created_at` field is a time, this will only mean that a proposal
will be archived about one microsecond later.

For consistency, we're also changing the `archived` scope, so a proposal
is never archived and not archived at the same time (not even for a
microsecond).
2024-07-05 17:24:56 +02:00
Javi Martín
a1439d0790 Apply Layout/LineLength rubocop rule
Note we're excluding a few files:

* Configuration files that weren't generated by us
* Migration files that weren't generated by us
* The Gemfile, since it includes an important comment that must be on
  the same line as the gem declaration
* The Budget::Stats class, since the heading statistics are a mess and
  having shorter lines would require a lot of refactoring
2023-08-30 14:46:35 +02:00
Javi Martín
8589adaf3e Simplify verification scopes
The code was hard to read with so many nested conditions.
2023-08-30 14:46:35 +02:00
Javi Martín
d0d681a44b Add and apply EmptyLineAfterGuardClause rule
We were inconsistent on this one. I consider it particularly useful when
a method starts with a `return` statement.

In other cases, we probably shouldn't have a guard rule in the middle of
a method in any case, but that's a different refactoring.
2019-10-24 17:56:03 +02:00
Raúl Fuentes
376ce443ef Add logic to user verification
changed functions on verification.rb, the first thing they do is
return true whene skip_user_verification is active.
changed show_welcome_screen? on user.rb, now its shows the welcome
page even with te option active.
changed welcome.html.erb, now if the user see this view and the
option is activated, all 4 checks are green, not only 2.
2018-05-22 15:02:35 +02:00
Bertocq
43758ba830 Fix Style/EmptyCaseCondition rubocop issue 2017-09-25 22:52:38 +02:00
Bertocq
c9bc028524 Remove all unnecesary extra spacing and Layout/ExtraSpacing list from rubocop file 2017-06-28 14:12:51 +02:00
Bertocq
cf81c740b1 Fix Style/ZeroLengthPredicate rubocop issue and remove file list from rubocop_todo 2017-06-26 17:57:53 +02:00
palomahnhp
b4ec077f16 Merge remote-tracking branch 'origin/master' into tracking_user_verifications_and_others
Conflicts:
	app/assets/javascripts/application.js
2016-04-20 11:28:06 +02:00
palomahnhp
7d4936b577 track user verification and add statistics of verified users who did not vote proposals 2016-03-13 21:38:05 +01:00
kikito
8fde9a77ac adds a rake task to assign missing geozones 2016-02-19 18:29:14 +01:00
rgarcia
3faadacc15 differentiates between level 2 and level 3 users 2016-02-04 13:38:56 +01:00
kikito
8d82ca05c0 Allows manually verifying users to level 2 without specifying a phone 2015-10-13 17:14:00 +02:00
rgarcia
c367bc264c refactors pending verification step view [#500] 2015-09-24 17:21:10 +02:00
rgarcia
8c56e28cce improves incomplete verification scope [#500] 2015-09-24 17:21:09 +02:00
rgarcia
1a80752c04 adds incomplete verification scope [#500] 2015-09-24 17:21:09 +02:00
kikito
3bcea097c6 Moves model concerns from lib to app/models/concerns 2015-09-12 16:53:35 +02:00