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.
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 changed code obtains the image dimensions when you first upload an
image. Unfortunately it's also triggered when thumbnails are refreshed.
That doesn't change the size of the original image though.