[ci skip] builtin -> built-in
Fix code indentation and improve formatting
Grammar fix in Getting Started Guide [ci skip]
1. Escape '%' characters in URLs - only unescaped data should be passed to URL helpers 2. Add an `escape_segment` helper to `Router::Utils` that escapes '/' characters 3. Use `escape_segment` rather than `escape_fragment` in optimized URL generation 4. Use `escape_segment` rather than `escape_path` in URL generation For point 4 there are two exceptions. Firstly, when a route uses wildcard segments (e.g. *foo) then we use `escape_path` as the value may contain '/' characters. This means that wildcard routes can't be optimized. Secondly, if a `:controller` segment is used in the path then this uses `escape_path` as the controller may be namespaced. Fixes #14629, #14636 and #14070.
The URI::Parser#escape method is a general use method that has to deal with a variety of input however our use of it is limited in scope so we can increase the performance by implementing our specific needs within ActionDispatch::Journey::Router::Utils directly. If there is no encoding required then there is no change in performance or number of objects allocated, but for each character that needs to be encoded we save five object allocations and gain a performance boost. The performance boost seen varies from 20% when there is one character to over 50% when encoding ten characters.
Makes it clear that anything passed with the helper must not be percent encoded. Fixes previous behavior which tricks people into believing passing non-percent-encoded will generate a proper percent-encoded path while in reality it doesn't ('%' isn't escaped). The intention is nice but the heuristic is broken.
Remove statement assuming coffee shop/public space wifi is inherently insecure
Don't rely on Arel master in bug report template
We should rely instead on the version supported by Active Record Closes #14809
multibyte_conformance.rb --> multibyte_conformance_test.rb
"subhash" --> "sub-hash"
…ialization-guides Few corrections in Rails Initialization Guides
Fix inconsistent behavior from String#first/#last
While calling String#first or String#last with zero or a Fixnum < the string's length returns a new string, a Fixnum >= the string's length returns the string itself. This inconsistency can lead to inadvertent mutation of a string.
when a destroyed record is duped, it is no longer ´destroyed?`.
remove warning while running TEST CASES
`warning: ambiguous first argument; put parentheses or even spaces`
:uglify -> :uglifier
The name of the gem is `uglifier` and all other references use `uglifier`, not `uglify`.
Optimize select_value, select_values, select_rows in Postgresql adapter.
Fixed has_many association to make it support irregular inflections.
So that irregular multi-word pluralization rules have to be defined only for snake-case strings.
CSRF protection should rescue exception not extend
… whether to exec with cache for Postgresql adapter Reduces creating unused objects, with the most dramatic reduction in select_values which used to map(&:first) an array of single element arrays.