| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
| |
The current code base is not uniform. After some discussion,
we have chosen to go with double quotes by default.
|
| |
|
|
|
|
| |
- `partial` option is not used anymore, this was removed in https://github.com/rails/rails/pull/23724
|
|
|
|
| |
non-default (html) template
|
|
|
|
| |
paths correctly
|
|
|
|
| |
format other than the first default
|
|
|
|
|
| |
Leftover from an earlier commit, chose to fix because I was
just down in this file.
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Per request digest caches were added before we had hooks into
different units of work that Rails performs.
As such the most reliable way to prevent stale cache digests
was with a middleware. The middleware prevented staleness in
Action Controller requests.
However, the executor is superior because it should also prevent
staleness when running just Active Job jobs or broadcasting
through Action Cable's server.
|
|
|
|
|
| |
we know that all child templates will be considered as "partials", so
the only one that needs detection by name is the root node
|
|
|
|
|
|
| |
Only the root node has injected dependencies, so we don't need to care
about them at lower levels. This change pushes the injected
dependencies up to where the user passed them in.
|
|
|
|
|
|
|
|
|
| |
this is for backwards compatibility. We should remove this after
5-0-stable is created because digest calculation should be amortized.
Caching digests of subtrees will speed up digests for other trees that
share the same children. However, this will also increase memory, and
after the app warms up, then those subtrees will never be reused which
means that memory is wasted.
|
|\
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
* master: (27 commits)
move digest cache on to the DetailsKey object
remove object `hash` cache
[ci skip] fix suggested change-replace 'an' with 'the in Rails engine guide'
Missing documentation about hash algorithm option for MessageVerifier [ci skip]
set `skip_listen` option to dummy appplication
Fix the language in engines guide
Add accidentally removed `#` [ci skip]
fields_for_style needs to test for AC::Parameters
Fix indentation for code block in changelog
Remove accidentally duplicated change log title [ci skip]
partially revert 69009f4473637a44ade26d954ef5ddea6ff903f2
Remove needless `case_insensitive_comparison` in mysql2 adapter
modify to `error` also abort when specify fail fast option
Implement ActionController::Parameters#inspect
remove unused method
Remove unused Journey code
Add Action Cable CHANGELOG in release notes [ci skip]
Show proper error message when a non-relation object is passed to AR::Relation#or
Fix semantics of test names for finish option in batches_test
Fix typo
...
Conflicts:
actionview/lib/action_view/digestor.rb
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This moves digest calculation cache on to the details key object.
Before, the digest cache was a class level ivar, and one of the keys was
the hash value of the details key object:
https://github.com/rails/rails/blob/13c4cc3b5aea02716b7459c0da641438077f5236/actionview/lib/action_view/digestor.rb#L28
An object's hash value is not unique, so it's possible for this cache
key to produce colliding keys with no resolution. This commit move
cache on to the details key object itself, so we know that the digests
are always unique per details key object.
|
| | |
|
| | |
|
| | |
|
| |
| |
| |
| |
| |
| | |
this commit removes unused code and changes the monitor to a mutex.
Since the digest doesn't recurse on itself anymore, we can just use a
mutex
|
| | |
|
| | |
|
| | |
|
| | |
|
| |
| |
| |
| | |
also remove the EMPTY node since we won't need it
|
|/
|
|
| |
also add an EMPTY sentinel node
|
|
|
|
|
|
|
| |
this lets us leverage Ruby's kwarg handling (exceptions for missing
params, etc) ASAP which allows us to skip active support method calls
and make sure the exception stack is closer to where the user called the
methods.
|
|
|
|
|
| |
we can use kwargs in this case to avoid values_at and except calls on
the options hash
|
|
|
|
| |
Wasn't removed in 57ac777.
|
| |
|
| |
|
|
|
|
| |
then we can stop scattering nil checks (e.g. `try`) through the class.
|
| |
|
|
|
|
|
|
|
| |
The thread_safe gem is being deprecated and all its code has been merged
into the concurrent-ruby gem. The new class, Concurrent::Map, is exactly
the same as its predecessor except for fixes to two bugs discovered
during the merge.
|
| |
|
|
|
|
|
|
| |
Avoid computing the same fragment digest many times when looping over templates.
The cache is cleared on every request so template changes are still picked up.
|
|\
| |
| |
| |
| | |
Conflicts:
guides/source/configuring.md
|
| |
| |
| |
| | |
LookupContext is class name
|
|/
|
|
| |
cache_digests:dependency and cache_digests:nested_dependency tasks
|
| |
|
|
|
|
| |
variant -- trying to pass it back in makes a mess of things (oh, and doesnt work)
|
| |
|
|
|
|
| |
testing!!
|
| |
|
| |
|
|
|
|
|
| |
Before we had a bug in the resolver cache so the disable_cache were not
working when passing options to find
|
|
|
|
| |
finder object
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
| |
Related to: #14242 #14243 14293
Variants passed to LookupContext#find() seem to be ignored, so
I've used the setter instead: `finder.variants = [ variant ]`.
I've also added some more test cases for variants. Hopefully this
time passing tests will mean it actually works.
|