François Turbelin
cab4b2fb28
Add a new cloud storage configuration for s3-compatible alternatives
2026-01-08 13:08:09 +00:00
David Rodríguez
05b3e97a0e
Bump Ruby from 3.1.7 to 3.2.9
...
Release announcements:
* https://www.ruby-lang.org/en/news/2025/07/24/ruby-3-2-9-released/
* https://www.ruby-lang.org/en/news/2025/03/26/ruby-3-2-8-released/
* https://www.ruby-lang.org/en/news/2025/02/04/ruby-3-2-7-released/
* https://www.ruby-lang.org/en/news/2024/10/30/ruby-3-2-6-released/
* https://www.ruby-lang.org/en/news/2024/07/26/ruby-3-2-5-released/
* https://www.ruby-lang.org/en/news/2024/04/23/ruby-3-2-4-released/
* https://www.ruby-lang.org/en/news/2024/01/18/ruby-3-2-3-released/
* https://www.ruby-lang.org/en/news/2023/03/30/ruby-3-2-2-released/
* https://www.ruby-lang.org/en/news/2023/02/08/ruby-3-2-1-released/
* https://www.ruby-lang.org/en/news/2022/12/25/ruby-3-2-0-released/
Also autocorrect new offenses.
2025-10-31 09:18:11 +01:00
Maikel Linke
05b00f16ad
Move config option to a better place
2025-08-12 20:24:16 +10:00
Carlos Chitty
b43fa55a7b
Do not try to generate a URL for unpersisted blobs in development/test environment
...
Explicitly raise an error in `image_variant_url_for` if an Active Storage variant's blob is not persisted.
This addresses `ArgumentError`/`URI::InvalidURIError` in Rails 7.1, which occurs when attempting to generate a URL for an unsaved Active Storage blob. By raising, we ensure existing error handling in calling methods (e.g., `Spree::Image#url`) can provide graceful fallbacks (default image URLs).
This should only affect test and development environments where blobs may not be immediately persisted. Tests in `SuppliedProductImporter` have been updated to reflect this behavior.
References:
- Suggestion: https://github.com/openfoodfoundation/openfoodnetwork/pull/13232#discussion_r2071116581
- Example of failing test due to this: https://github.com/openfoodfoundation/openfoodnetwork/actions/runs/14739687958/job/41374346184?pr=13232
- Related: https://github.com/rails/rails/issues/50234
2025-06-27 15:05:52 -04:00
Neal Chambers
50eb8f31f2
Remove Deprecated delegate_belongs_to
2023-09-26 09:50:08 +09:00
Maikel Linke
33d212d274
Gracefully deal with missing S3 config
...
I could have split this into several commits:
* DRY direct linking to images.
* Check S3 config before direct linking.
* Just check if service is public instead of relying on name.
Developers may copy a staging or production database or experiment with
S3 storage. But when the S3 config is missing then calling `service`
raises an ArgumentError due to a missing name.
Now we only try to call `service` if the S3 config is present.
2023-06-23 12:41:36 +10:00
Matt-Yorkley
551d0d3a93
Simplify calling #url_for in models
2023-06-14 10:56:10 +01:00
Matt-Yorkley
e54cff2274
Set images to public-read
...
Defining an alternate s3 configuration set to `public: true` means we can use it selectively. It sets the objects to `acl: "public-read"` by default (read-only) and means any image tags for those assets can use direct public links in the src attribute (without hitting the ActiveStorage::Representation endpoint). The default non-public service will still be used by default for any other files on instances using s3.
2023-06-14 10:56:10 +01:00
Matt-Yorkley
924f6568d6
Replace data loading with new Reports::QueryInterface
2021-11-04 14:55:23 +00:00
Matt-Yorkley
b25759670e
Implement ransackable whitelisting
2021-09-02 13:43:22 +01:00
Maikel Linke
5c0cdce597
Confine Permalinks patch to application
...
We were also patching ActiveRecord::Relation for the `#find_by_param`
methods but we are not using those any more. They were deprecated a
while ago. We now use `find_by(permalink: ...)`.
2021-04-15 15:59:03 +10:00
Maikel Linke
125374c488
Confine Preferences patch to our app
2021-04-15 15:59:03 +10:00
Maikel Linke
1893313c40
Confine DelegateBelongsTo patch to our app
2021-04-15 15:59:03 +10:00
Maikel Linke
1364b878fe
Add ApplicationRecord for customisations
...
Rails 5 introduced this new class to confine application-specific monkey
patches to our models only, and not leak into other libraries using
ActiveRecord::Base.
https://bigbinary.com/blog/application-record-in-rails-5
2021-04-15 15:59:03 +10:00