| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|\
| |
| |
| |
| | |
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.
|
| |
| |
| |
| |
| | |
Conflicts:
activesupport/lib/active_support/values/time_zone.rb
|
|\ \
| | |
| | |
| | | |
Merge #12067 rebasing and improving the code.
|
| |\ \
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Enable number_to_percentage to keep the number's precision by allowing :precision option value to be nil
Conflicts:
activesupport/CHANGELOG.md
activesupport/lib/active_support/number_helper.rb
activesupport/test/number_helper_test.rb
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
:precision to be nil
number_helper.number_to_percentage(1000, precision: nil) # => "1000%"
|
|/ / /
| | |
| | |
| | | |
This reverts commit 9c47b874d112414df7f80f9ed852adb48ba6d268.
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
These are (potentially, depending on input) called in several places in
both the router, and Active Record. The code also becomes much cleaner.
This results in ~33% performance gain in both methods.
Calculating -------------------------------------
before 15.696k i/100ms
after 19.865k i/100ms
-------------------------------------------------
before 303.064k (± 2.6%) i/s - 1.523M
after 446.734k (± 2.4%) i/s - 2.245M
On Ruby 2.2, a warning will be emitted about states not being copied,
because we're calling `super` from a subclass. We can safely ignore it,
however, since we're converting the result back into a HWIDA
|
|\ \ \
| | | |
| | | | |
Amended json_escape comments
|
| | | |
| | | |
| | | |
| | | | |
still be html_escaped if being inserted ingot he DOM via JQuery's html() method.
|
|\ \ \ \
| | | | |
| | | | | |
Extracted silence_stream method to new module in activesupport/testing
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
- Added include for the same in ActiveSupport::Test.
- Removed occurrences of silence_stream being used elsewhere.
- Reordered activesupport testcase requires alphabetically.
- Removed require of silence stream from test_case
- Moved quietly method to stream helper
- Moved capture output to stream helper module and setup requires for the same elsewhere
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Also remove the default value since it will be always passed and
Array(nil) returns an empty array
|
|\ \ \ \ \
| | | | | |
| | | | | | |
Rename AS::Callback#merge
|
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
Renamed it to indicate what it actually does.
|
| | | | | | |
|
|\ \ \ \ \ \
| | | | | | |
| | | | | | | |
Change AS::Testing::TimeHelpers#travel_to to also stub DateTime.now
|
| | | | | | | |
|
|/ / / / / /
| | | | | |
| | | | | |
| | | | | | |
onwards.
|
| | | | | | |
|
|/ / / / /
| | | | |
| | | | |
| | | | | |
ref: https://github.com/rails/rails/pull/18763#issuecomment-72349769
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Module#const_defined? accepts constant paths in modern Ruby, we no longer
need our qualified_* extensions.
References #17845.
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
It's a thin layer to provide easy access to sample files throughout
test-cases. This adds the directory `test/fixtures/files` to newly
generated applications.
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Staying true to Ruby convention, we now return the value of the yielded
block from `File.atomic_write {...}`. This mimics the behavior of MRI's
`File.open {...}`.
|
|\ \ \ \ \
| | | | | |
| | | | | | |
fix dependency
|
| | | | | | |
|
|\ \ \ \ \ \
| | | | | | |
| | | | | | | |
A little performance improvement using 'take' method over 'first'
|
| | |_|_|_|/
| |/| | | | |
|
|/ / / / / |
|
|\ \ \ \ \
| |_|/ / /
|/| | | | |
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Many methods in ActiveSupport::Inflector were actually documenting
the String methods with the same name.
For instance the doc for `camelize` said:
> If the argument to +camelize+ is set to <tt>:lower</tt>...
while it should say:
> If the +uppercase_first_letter+ parameter is set to false
[ci skip]
|