The method `associate_customer` only loads a customer but doesn't
actually associate one. So the deleted line doesn't have any effect.
The intention was to reset the customer after switching shops but the
before_validation logic on the order model takes care of that already.
I'm renaming this private method here for clarity.
We introduced a list of formats we support and forgot to add webp. Now I
added that as allowed format again and modified the error message.
I removed the first sentence from the error message because it's very
similar to the default error which is shown as well.
The old Paperclip configuration was very clever and easy to use but it
was also a complicated implementation building on the complicated Spree
preference system.
I simplified this with Active Storage, storing simple references to blob
ids and default URLs as backup.
I chose `has_one_migrating` as method name for two reasons:
1. It reflects Active Storage's method `has_one_attached`.
2. And it has the same length as Paperclip's `has_attached_file`.
Therefore the commits don't need any whitespace changes.
When we change it to `has_one_attached`, we will also remove the
Paperclip options which then don't need whitespace changes either.
While we migrate from Paperclip to Active Storage, we need to use both
at the same time to avoid any downtime or lost images.
Once the migration is complete, we want to use the same name for
attachment as before. Using Paperclip and Active Storage at the same
time creates a name conflict on a couple of methods.
I'm using alias_method as a temporary solution to access Active Storage
methods. We will remove that after the migration. I declare Paperclip
afterwards so that we have those methods declarations for backwards
compatibility now.
The icons are not used any more and the default icon file never existed
in our code base (only in Spree when we depended on that).
And it's better to remove this clutter before migrating those files to
Active Storage.
We are keeping the icon files in storage as a backup. The whole folder
`/spree/taxons` can be deleted when desired. But storage is cheap.
We had an old version under "contested settings" and it looks like some
of them were modified. I hope that our new, separate file will
discourage manual tweaks.
We can include the relaxed rules from a gem as well. Let's see if we
need that complexity one day.