| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
| |
On every iteration of generating a cache for a collection a “digest path” is calculated even though it’s exactly the same for every element.
This PR exposes a method `digest_path_from_virtual` that returns back a “digest_path”. This can in turn be passed back into `cache_fragment_name`. This not only does less work, but it also (you guessed it) uses less memory.
before: Total allocated: 762539 bytes (7035 objects)
after: Total allocated: 743590 bytes (6621 objects)
(762539 - 743590)/ 762539.0 # => 2.4% faster ⚡️⚡️
|
|
|
|
|
|
|
|
|
|
| |
When no dependencies are present to be digested there is no reason to build an array just to turn around and turn it back into a string.
The dependencies array is not mutated in this method so we can use the same empty array across all invocations.
Total allocated: 791402 bytes (7294 objects)
Total allocated: 777442 bytes (7132 objects)
(791402 - 777442) / 791402.0 # => 1.76 % speed improvement
|
|
|
|
| |
Fixing code block rendering, indentation, backticks, etc.
|
| |
|
| |
|
|\
| |
| | |
Finish converting whitelist and blacklist references
|
| | |
|
| | |
|
| | |
|
|/ |
|
|\
| |
| |
| | |
Use public_send in value_for_collection
|
| |
| |
| |
| |
| |
| |
| |
| | |
Test that using private methods in `options_from_collection_for_select`
is deprecated.
Make the unused `secret` paramether in the `Post` Struct private to use
it in the test.
|
| |
| |
| |
| |
| | |
Instead of dropping it completely in case someone is relying (probably
inadvertenly) on it.
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Avoid exposing private methods in view's helpers. However, as
`extract_values_from_collection` is only called from
`options_from_collection_for_select` where `value_for_collection` is
previously called, this case was already covered. The change makes
anyway sense for consistency and in case the code changes in the
future.
|
| |
| |
| |
| |
| |
| | |
Avoid exposing private methods in view's helpers.
Fixes https://github.com/rails/rails/issues/33546
|
|\ \
| | |
| | |
| | |
| | |
| | |
| | | |
emaxi/feature/add-missing-documentation-option-to-number-to-currency
Add missing documentation option to number_to_currency
[ci skip]
|
| | | |
|
| | |
| | |
| | |
| | | |
To prevent style check in review like https://github.com/rails/rails/pull/33608#discussion_r211087605.
|
| | | |
|
| |/
|/|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
There was a warning when running `npm install` in Action View:
coffee-script@1.11.1: CoffeeScript on NPM has moved to
"coffeescript" (no hyphen)
We are not requiring `coffee-script` explicitly, but `coffeelint` does.
The latest version, 2.1.0, already fix the dependency package name, so
we should upgrade to it to suppress the warning.
|
| |
| |
| |
| |
| | |
This commit follows the path we started at commit #ea4f0e2
and continued at PR #33229.
|
| |
| |
| |
| |
| |
| |
| |
| | |
I saw two posts of problem about ajax requesting twice on qiita.
So I think detecting double loaded earlier make easy to find the problem.
https://qiita.com/hot_study_man/items/56dc87ad734cfda68bb6
https://qiita.com/hisas/items/8399aec3a5377bf75017
|
| |
| |
| |
| |
| | |
In cases where the MatchData object is not used, this provides a speed-up:
https://github.com/JuanitoFatas/fast-ruby/#stringmatch-vs-stringmatch-vs-stringstart_withstringend_with-code-start-code-end
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Use attr_reader/attr_writer instead of methods
method is 12% slower
Use flat_map over map.flatten(1)
flatten is 66% slower
Use hash[]= instead of hash.merge! with single arguments
merge! is 166% slower
See https://github.com/rails/rails/pull/32337 for more conversation
|
|\ \
| | |
| | | |
Keep time_tag docs up-to-date.
|
| | |
| | |
| | |
| | |
| | | |
The pubdate attribute was removed from the spec, see
940eec417f20e53abd3e3114c7fa845dac0d3a62 for context.
|
| | |
| | |
| | |
| | |
| | | |
Special form_with attributes `skip_default_ids` and `allow_method_names_outside_object`
attributes are leaking into html attributes of option select tag helpers.
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
`button_to` was throwing exception when invoked with `params` hash that
contains symbol and string keys. The reason for the exception was that
`to_form_params` was comparing the given symbol and string keys.
The issue is fixed by turning all keys to strings inside
`to_form_params` before comparing them.
|
| | |
| | |
| | | |
Related to https://github.com/rails/rails/pull/24386#issuecomment-403926683
|
|\ \ \
| | | |
| | | |
| | | | |
Add changelog entry for 42c3537 [ci skip]
|
|/ / / |
|
|\ \ \
| |/ /
|/| | |
Add safe html support to arrays of translations
|
| | | |
|
| | |
| | |
| | |
| | |
| | |
| | | |
Follow up #32190
[ci skip]
|
|\ \ \
| | | |
| | | |
| | | | |
Add `use_year_names` option to date_select tag
|
|/ / /
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
to customize year
names. Lambda should be passed to use this option. Example:
date_select('user_birthday', '', start_year: 1998, end_year: 2000, year_format: ->year { "Heisei #{year - 1988}" })
The HTML produced:
<select id="user_birthday__1i" name="user_birthday[(1i)]">
<option value="1998">Heisei 10</option>
<option value="1999">Heisei 11</option>
<option value="2000">Heisei 12</option>
</select>
/* The rest is omitted */
|
| | |
| | |
| | |
| | |
| | | |
Because the same method is defined in `FormWithTest` of the parent class.
https://github.com/rails/rails/blob/fe9547b6fb60d92af181c8613166fa4322f8e307/actionview/test/template/form_helper/form_with_test.rb#L19..L26
|
| | |
| | |
| | |
| | | |
Follow up of #32958.
|
| | | |
|
| | |
| | |
| | |
| | | |
Follow up of #32605.
|
| | |
| | |
| | |
| | | |
[ci skip]
|
| | |
| | |
| | |
| | |
| | | |
* Concurrent::Map usage was removed from this file in 3239ed48d28f3c0baf4445e6c279107e892b7cab
* Monitor usage was removed in f233598d2da773c2024cbe62a199ddc70d9fd7a1
|
| | |
| | |
| | |
| | | |
Follows #32612
|
| | | |
|
|\ \ \
| | | |
| | | | |
Allow usage of strings as locals for partial renderer
|
| | | | |
|
| | | |
| | | |
| | | |
| | | | |
Caused at 9276ea89d2b0be9fdd1ad6590857f8d45a38c267.
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Or it would raise if the argument was frozen.
And even with this change, it would still reduce String allocations together with 9276ea89d2b0be9fdd1ad6590857f8d45a38c267
because `escape` should be `true` in most cases
|
| | | |
| | | |
| | | |
| | | |
| | | | |
This method is called against each tag option for each tag,
and creates an extra garbage String per each call
|