-
Notifications
You must be signed in to change notification settings - Fork 30
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add ingredients relations #108
Merged
Merged
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
tvdeyen
reviewed
May 7, 2024
We want to be able to use decorators.
mamhoff
force-pushed
the
add-ingredients-relations
branch
from
May 7, 2024 11:57
7517302
to
f9c4aab
Compare
mamhoff
added a commit
to mamhoff/alchemy_cms
that referenced
this pull request
May 7, 2024
Currently, it's hard for us to invalidate caches for Alchemy pages when content that's referenced through ingredients with related objects changes. For example, in a situation where a user combines Alchemy and Solidus using the `alchemy_solidus` gem, a page's cache key does not update when a product that's referenced through a SpreeProduct ingredient changes. There's a PR up on the alchemy_solidus gem that touches ingredients in these situations, and with this change, that touching can be used for breaking caches. [1] [1](AlchemyCMS/alchemy-solidus#108)
3 tasks
mamhoff
added a commit
to mamhoff/alchemy_cms
that referenced
this pull request
May 8, 2024
Currently, it's hard for us to invalidate caches for Alchemy pages when content that's referenced through ingredients with related objects changes. For example, in a situation where a user combines Alchemy and Solidus using the `alchemy_solidus` gem, a page's cache key does not update when a product that's referenced through a SpreeProduct ingredient changes. There's a PR up on the alchemy_solidus gem that touches ingredients in these situations, and with this change, that touching can be used for breaking caches. [1] In the unlikely event the requested version is not available, we use the page's updated_at timestamp as a fallback. [1](AlchemyCMS/alchemy-solidus#108)
mamhoff
added a commit
to mamhoff/alchemy_cms
that referenced
this pull request
May 8, 2024
Currently, it's hard for us to invalidate caches for Alchemy pages when content that's referenced through ingredients with related objects changes. For example, in a situation where a user combines Alchemy and Solidus using the `alchemy_solidus` gem, a page's cache key does not update when a product that's referenced through a SpreeProduct ingredient changes. There's a PR up on the alchemy_solidus gem that touches ingredients in these situations, and with this change, that touching can be used for breaking caches. [1] In the unlikely event the requested version is not available, we use the page's updated_at timestamp as a fallback. [1](AlchemyCMS/alchemy-solidus#108)
mamhoff
added a commit
to mamhoff/alchemy_cms
that referenced
this pull request
May 8, 2024
Currently, it's hard for us to invalidate caches for Alchemy pages when content that's referenced through ingredients with related objects changes. For example, in a situation where a user combines Alchemy and Solidus using the `alchemy_solidus` gem, a page's cache key does not update when a product that's referenced through a SpreeProduct ingredient changes. There's a PR up on the alchemy_solidus gem that touches ingredients in these situations, and with this change, that touching can be used for breaking caches. [1] In the unlikely event the requested version is not available, we use the page's updated_at timestamp as a fallback. [1](AlchemyCMS/alchemy-solidus#108)
mamhoff
added a commit
to mamhoff/alchemy_cms
that referenced
this pull request
May 13, 2024
Currently, it's hard for us to invalidate caches for Alchemy pages when content that's referenced through ingredients with related objects changes. For example, in a situation where a user combines Alchemy and Solidus using the `alchemy_solidus` gem, a page's cache key does not update when a product that's referenced through a SpreeProduct ingredient changes. There's a PR up on the alchemy_solidus gem that touches ingredients in these situations, and with this change, that touching can be used for breaking caches. [1] In the unlikely event the requested version is not available, we use the page's updated_at timestamp as a fallback. The core of the logic has been moved to a new `#last_modified_at` method that can be used for the last-modified header in HTTP responses. [1](AlchemyCMS/alchemy-solidus#108)
mamhoff
force-pushed
the
add-ingredients-relations
branch
from
May 13, 2024 16:41
f9c4aab
to
d6544ed
Compare
This gets us an `Spree::Taxon#alchemy_ingredients` relation which we can use to invalidate caches.
mamhoff
force-pushed
the
add-ingredients-relations
branch
from
May 15, 2024 11:22
d6544ed
to
3f6643f
Compare
tvdeyen
approved these changes
May 15, 2024
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Amazing 🧁
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This allows the gem to
touch
ingredients if taxons or products or variants update. Useful for cache invalidation!