| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
| | | |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Thanks @fbernier for suggestion! <3
At this moment we can use Module#prepend in all all cases
except of Range because of the bug [1] in MRI 2.2
[1] https://bugs.ruby-lang.org/issues/10847
|
|\ \ \
| | | |
| | | | |
Skip the `:race_condition_ttl` branch if the option is 0 or nil.
|
| | | |
| | | |
| | | |
| | | | |
an issue with the redis cache, where this code will sometimes throw an error out of SETEX when passing 0 as the `expires_at`.
|
|/ / / |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Reverting this as it's not the implementation that we would like it to be.
This is being used inside of ActiveSUpport::TimeZone[] and it's unaware
of the context in which to find the timezone period so the timezone found
changes depending on whether DST is in effect for the current period.
This means that `'2001-01-01'.in_time_zone(-9)` changes from winter/summer
even though it's the same date that we're trying to convert.
Since finding timezones by numeric offsets is a bit hit and miss we should
introduce a new API for finding them which supplies the date context in
which we want to search and we should probably also deprecate the finding
of timezones via the [] method, though this needs further discussion.
This reverts commit 2cc2fa3633edd96773023c6b09d07c7b9d9b841d.
|
| | | |
|
| | | |
|
| | |
| | |
| | |
| | | |
Closes #19227.
|
|\ \ \
| | | |
| | | | |
[ci skip] Update documentation for Time#seconds_since_midnight
|
| | | | |
|
|/ / /
| | |
| | |
| | |
| | |
| | | |
`CallbackSequence#call` can only ever take one argument. Using `*args`
here produces unnecessary array allocations. Since it only ever takes
one argument we should use `arg` instead of `*args`.
|
|\ \ \
| | | |
| | | | |
If TZInfo-data is not present in windows, let the user know.
|
| | | | |
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
* Fix a few typos
* Wrap some lines around 80 chars
* Rephrase some statements
|
| | | | |
|
| | | | |
|
| | | | |
|
| | | | |
|
| | | | |
|
| | | | |
|
|\ \ \ \
| | | | |
| | | | |
| | | | |
| | | | | |
mraidel/activesupport_cache_fetch_multi_documentation_fix
fixes documentation for returned hash in cache.fetch_multi
|
| | | | | |
|
| |/ / /
|/| | | |
|
|/ / /
| | |
| | |
| | |
| | |
| | | |
When given a specific offset, use the first result found where the
total current offset (including any periodic deviations such as DST)
from UTC is equal.
|
|\ \ \
| | | |
| | | | |
Improve the Rubinius build
|
| | | |
| | | |
| | | |
| | | |
| | | | |
At the moment, `rescue_from` doesn't work with strings on Rubinius
because of rubinius/rubinius#3272.
|
|/ / /
| | |
| | |
| | | |
(relates to #19157)
|
| | |
| | |
| | |
| | | |
[egilburg]
|
|/ / |
|
|\ \
| | |
| | |
| | |
| | | |
tgxworld/reduce_allocated_memory_in_module_delegate
Reduce allocated memory for Module#delegate.
|
| | | |
|
| | | |
|
|/ / |
|
| | |
|
|\ \
| |/
|/|
| | |
Update documentation examples for String#remove [skip ci]
|
|/ |
|
|\
| |
| |
| | |
Fix a backtracking problem in String#truncate_words
|
| |
| |
| |
| | |
Fixes #19070.
|
|\ \
| |/
|/| |
Merge multi_fetch_fragments.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Adds `read_multi` instrumentation formatted as:
Caches multi read:
- views/david/2/4184ab71db6849621a4d8820fcd2c0ad
- views/david/2/4184ab71db6849621a4d8820fcd2c0ad
- views/david/3/4184ab71db6849621a4d8820fcd2c0ad
- views/david/3/4184ab71db6849621a4d8820fcd2c0ad
|
|/ |
|
|\ |
|
| | |
|
|\ \
| | |
| | | |
remove unnecessary assignment/parameter passing in AS::Callbacks...::Around (master branch)
|
| | |
| | |
| | |
| | | |
ActiveSupport::Callbacks::Filters::Around
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
`coder.represent_scalar` means something along the lines of "Here is a quoted
string, you can just add it to the output", which is not the case here. It only
works for simple strings that can appear unquoted in YAML, but causes problems
for e.g. primitive-like strings ("1", "true").
`coder.represent_object` on the other hand, means that "This is the Ruby-object
representation for this thing suitable for use in YAML dumping", which is what
we want here.
Before:
YAML.load ActiveSupport::SafeBuffer.new("Hello").to_yaml # => "Hello"
YAML.load ActiveSupport::SafeBuffer.new("true").to_yaml # => true
YAML.load ActiveSupport::SafeBuffer.new("false").to_yaml # => false
YAML.load ActiveSupport::SafeBuffer.new("1").to_yaml # => 1
YAML.load ActiveSupport::SafeBuffer.new("1.1").to_yaml # => 1.1
After:
YAML.load ActiveSupport::SafeBuffer.new("Hello").to_yaml # => "Hello"
YAML.load ActiveSupport::SafeBuffer.new("true").to_yaml # => "true"
YAML.load ActiveSupport::SafeBuffer.new("false").to_yaml # => "false"
YAML.load ActiveSupport::SafeBuffer.new("1").to_yaml # => "1"
YAML.load ActiveSupport::SafeBuffer.new("1.1").to_yaml # => "1.1"
If we ever want Ruby to behave more like PHP or JavaScript though, this is an
excellent trick to use ;)
|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
This caused a performance regression since we were decided to do the nil
check in run time not in the load time.
See https://github.com/rails/rails/pull/15187#issuecomment-71760058
|
|/ /
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Freezing the string literal reduces the number of objects allocated
during integration test runs.
AllocationTracer before:
```
[["/rack/lib/rack/utils.rb", 499, :T_STRING], [50939, 2737, 78553, 0, 13, 1783920]]
[["/rails/activesupport/lib/active_support/subscriber.rb",
99, :T_STRING], [44959, 0, 42633, 0, 2, 1670800]]
[["/rack/lib/rack/utils.rb", 662, :T_STRING], [32979, 0, 31263, 0, 1, 1226009]]
[["/rack/lib/rack/body_proxy.rb", 34, :T_ARRAY], [29988, 0, 28438, 0, 1, 1114320]]
[["/rails/activesupport/lib/active_support/callbacks.rb", 165, :T_DATA], [29968, 0, 28422, 0, 2, 3675936]]
```
AllocationTracer after:
```
[["/rack/lib/rack/utils.rb", 499, :T_STRING], [50983, 4080, 67269, 0, 12, 1815600]]
[["/rack/lib/rack/utils.rb", 662, :T_STRING], [33001, 0, 28420, 0, 2, 1230809]]
[["/rack/lib/rack/body_proxy.rb", 34, :T_ARRAY], [29990, 0, 25812, 0, 1, 1118000]]
[["/rails/activesupport/lib/active_support/subscriber.rb", 99, :T_STRING], [29986, 0, 25803, 0, 1, 1117840]]
[["/rails/activesupport/lib/active_support/notifications/instrumenter.rb", 52, :T_HASH], [29984, 28, 26133, 0, 11, 4953280]]
|
| |
| |
| |
| |
| |
| | |
NameError#name returns a missing name as a symbol, so if the given name
is a symbol, it doesn't have to use #missing_name to get the last constant
name in the error message.
|