We still depend on it as long as we set it as image processor but now we
can switch to another image processor without changing the code around
error handling.
We now rescue from unknown errors during image processing which should
make the app more robust.
We only reference MiniMagick when rescuing errors but when it's not
loaded, that code fails to find the error class itself to apply the
rescue block.
The rescue block is covered by a spec but the code passes there as
MiniMagick is loaded.
We can see this error only in development, staging and production.
It wasn't really necessary, but I'm going to need this list in a moment, so we might as well use it.
Also it allows us to ensure the options are listed in a certain order.
Also maybe it will help protect against corrupt preferences.
Otherwise we would try to take stock from the producer stock level
without respecting their on-demand settings. So from now on:
If stock level or on_demand are set on the override then it's not using
producer stock levels.
We allowed this for producer stock and need to do the same for inventory
stock. This will allow us to create backorders for missing, but promised
stock.
We weren't bothering with stock when items were on demand anyway. But we
want to track stock now so that we can backorder more when local stock
levels become negative.
We weren't allowing negative stock to stop any bug from accidentally
drawing too much stock. But now we want to implement a backordering
logic that depends on negative stock levels to know how much is needed
to replenish stock levels.
Using namespace subfolder to help organise it and show the inheritance.
Hmm, instead of scopes, we could have different has_many relationships on the Enterprise. Maybe it should be in a concern. We can refactor later I guess.
The file path was never going to be 'tmp/product_import', so I guess it never deleted the file.
Hmm but shouldn't we clean up on success too? I suppose the tmp dir will be cleaned up eventually, and maybe we want to keep them for debugging purposes.
- increments! & decrement! skip validations
- replaced increment! method calls
- one call was for a redefined increment! method
- the other for a regular(ActiveRecord::Persistence)
- removes increments/decrements definition now useless