- presence: true is redundant since Rails 5.0 BUT applies
with new default config of
belongs_to_required_by_default to true.
Lots of files with belongs_to_required_by_default = false
(backward compatibility).
So: deleting this setting implies to adding optional: true
- added 'NOT NULL' constraints so model constraints match
with contraints on DB tables.
- corresponding migration files to match AR Models &
DB tables
- rake tasks to check corrupt data (ie: NULL/nil in id fields)
- updated the todo
It checks for invalid addresses, ie address with address1, city, phone
or country_id set to null.
It will return:
- a list of invalid address in use (associated to another
model)
- a list of invalid address not in use, ie that we can delete
We can simply merge the option hashes now because they are not
conditional anymore. Well, the magic `presence` method does the
conditional logic for us now.
Instead of using the auth method name, let's just not supply username
and password when we don't want to authenticate. The two affected
servers AU and CA don't have credentials set anyway. This is compatible.
The specs needed changing though.
These config values are relatively static but in some cases they can be called many times in the same request (like rendering a report or a large list of line_items in BOM). These values will now only get fetched from Redis/Postgres once at most per request/job.
- instead of selecting out unapplied tax rates in the total tax
method, did it in the query_result instead. Reverted the
total_excl_tax method to its initial state.
- spec and logic of testing affected also.
- total_excl_tax would sum amounts and taxes without
knowledge if taxes rates were really applied or not
- spec shows use case described in issue 12066
- copied the relevant code from the new Active Merchant version
- Add spec to cover the scenario of saving a card when paying by card
- Fix Stripe stub.
I used stripe stubs for the new scenario because storing a card on
stripe depends on some client side interaction with Stripe. We can't
capture that with VCR.
When the list of active features is empty, Rubocop wants the hash braces
to be collapsed to `{}`. While that's easier to read, we would need to
change that every time we add an entry or remove it. Instead I moved the
comment into the hash which satisfies Rubocop and is apt in that place.
This could also ease merge conflict resolution when we work on several
features in parallel.