| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
| |
Interpolation was untested and did not work with hash arguments.
Adds
- support for interpolation with hash argument
- tests for the above
- tests for safe/unsafe interpolation
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The per-thread registry is keyed on the class name, and each request for
the class name returns a new string. This is in the hot path for a lot
of Active Record behavior, so we easily accumulate thousands of repeated
strings.
To fix, we simply cache the key when the class is first extended with
the module.
TODO: Eliminate this module. The per-thread instance concept is common,
but this technique confuses and obfuscates.
|
|\
| |
| | |
Fix test-error introduced by #10635.
|
| |
| |
| |
| |
| |
| |
| |
| | |
`Base64.strict_decode64`.
This broke natural order of things for `StaleSessionCheck#stale_session_check!` which tried auto_loading a class based on `ArgumentError` message , and later retrying the `Marshal#load` of class, successfully allowing auto_loading.
This PR tries to fix this behavior by forwarding `ArgumentError` 's not raised by `Base64.strict_decode64` , as is, ahead to `StaleSessionCheck#stale_session_check!`
|
| | |
|
|\ \
| | |
| | |
| | | |
Moving the common code of increment and decrement of cache file store in...
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
seprate function
Removing the double checking for the value of id
simplifying code for checking conditional code for key
Removing the default values for parameters
removing reduntant code and asiigning value of id in local variable
removing wrongly added line break[ci ckip]
reverting code
|
|\ \ \
| | | |
| | | | |
typos rectified lifecycle => life cycle
|
| |/ / |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Comparing dates & times with other objects using #== is slow.
Internally, it hits #<=> which calls #to_datetime on objects
that don't respond to it, so we incur the cost of raising an
exception with a possibly-deep backtrace.
Cost of #jsonify on a Time object:
Calculating -------------------------------------
old 3644 i/100ms
new 12652 i/100ms
-------------------------------------------------
old 43373.8 (±3.5%) i/s - 218640 in 5.047017s
new 173437.6 (±5.2%) i/s - 872988 in 5.047747s
|
|\ \ \
| | | |
| | | | |
s/everytime/every time/
|
| |/ / |
|
| | |
| | |
| | |
| | | |
These classes are not meant to be public.
|
|/ / |
|
|\ \
| | |
| | | |
Using parallelize_me! to parallelize isolated test
|
| |/
| |
| |
| |
| | |
As ParallelEach is no more available
related commit ec00442c10cb90796909e876fb1cc557ed7518bd
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
There are circumstances where the capabilities of `assert_deprecated` and
`assert_not_deprecated` are not enough. For example if a ccertain call-path
raises two deprecations but should only raise a single one.
This module is still :nodoc and intented for internal use.
/cc @rafaelfranca
|
|/
|
|
|
|
| |
Closes #13245.
[ci skip]
|
|\
| |
| | |
Minitest upgrade broke build
|
| |
| |
| |
| |
| |
| | |
https://github.com/seattlerb/minitest/commit/34760e3b268bc1bb4ac5fe1a44ef1ff0a2f9bd4d
This PR should fix build
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
#13204]
load_missing_constant is a private method that basically plays the role of const_missing.
This method has an error condition that is surprising: it raises if the class or module
already has the missing constant. How is it possible that if the class of module has
the constant Ruby has called const_missing in the first place?
The answer is that the from_mod argument is self except for anonymous modules, because
const_missing passes down Object in such case (see the comment in the source code of the
patch for the rationale).
But then, it is better to pass down Object *if Object is also missing the constant* and
otherwise err with an informative message right away.
|
|\ \
| |/
|/| |
Use `Base.strict_decode64` instead of `Base.decode64`
|
| |
| |
| |
| | |
Also reduce extra object allocation by creating string directly instead of join on Array
|
| |
| |
| |
| |
| |
| |
| | |
Calling Kernel#silence_stream creates a new file descriptor which isn't
closed after it is used. As a result calling silence_stream multiple
times leads to a build up of loose file descriptors and can cause issues
in environments where garbage collection isn't run often.
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| |
| |
| |
| |
| |
| |
| | |
This reads a lot better, and we won't need to try start_with? for blank
delimiters.
Also rename method name to read better.
|
| |
| |
| |
| |
| | |
The conversion without area code already changed the passed number in
place, so change the other method to do the same.
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| |
| |
| |
| | |
number
|
| | |
|
| |
| |
| |
| |
| |
| |
| | |
Ruby's Date class automatically gives us #yesterday, #today,
and #tomorrow. And ActiveSupport has a handy Time.zone.today
for getting a localized version. But there was no localized
version of #yesterday or #tomorrow. Until now.
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
keys. Also, show the wrong value as it was entered.
{ :failore => "stuff", :funny => "business" }.assert_valid_keys([ :failure, :funny ])
=> ArgumentError: Unknown key: failore
{ 'failore' => "stuff", :funny => "business" }.assert_valid_keys([ :failure, :funny ])
=> ArgumentError: Unknown key: failore
{ 'failore' => "stuff", :funny => "business" }.assert_valid_keys([ :failure, :funny ])
=> ArgumentError: Unknown key: "failore". Valid keys are: :failure, :funny
{ :failore => "stuff", :funny => "business" }.assert_valid_keys([ :failure, :funny ])
=> ArgumentError: Unknown key: :failore. Valid keys are: :failure, :funny
Conflicts:
activerecord/CHANGELOG.md
Closes #11624.
|
|\ \
| | |
| | | |
CHANGELOG for JSON refactor + added back the `encode_big_decimal_as_string` option with warning
|
| | |
| | |
| | |
| | |
| | | |
Also added the missing CHANGELOG entry for #12183 @ 80e7552073 and
4d02296cfb.
|
| | |
| | |
| | |
| | |
| | | |
Use the already existing strings instead of creating a new one each time
just to test if it responds to the methods.
|
|\ \ \ |
|
| | | | |
|
| | | | |
|