| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|\ \
| | |
| | | |
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]
|
| | | | |
| | | | |
| | | | |
| | | | | |
Also sync Russian Federation time zones with `zone.tab` file from tzdata version 2014j.
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Hi there,
i have an app without english as available locale. So i got an error when we try to inspect something like 1.day. This is done automatically when we use the dalli cache.
I would like to change the :en to ::I18n.default_locale to be sure that this is always constant and is an available locale.
Tests are all green with this change.
Calculating -------------------------------------
:locale => :en 2.024k i/100ms
:locale => ::I18n.default_locale 2.236k i/100ms
-------------------------------------------------
:locale => :en 25.758k (±26.3%) i/s - 117.392k
:locale => ::I18n.default_locale 26.311k (±18.1%) i/s - 127.452k
|
|\ \ \ \ \
| | | | | |
| | | | | | |
Better fork detection in ActiveSupport::Testing::Isolation
|
| | |/ / /
| |/| | |
| | | | |
| | | | |
| | | | | |
Process.respond_to?(:fork) returns false if fork is not available.
More on http://www.ruby-doc.org/core-2.0.0/Process.html#method-c-fork
|
|/ / / / |
|
| | | | |
|
| | | | |
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
The build has failed when running the date/time ext tests in isolation
due to the missing extension, so better than adding a require is using
just Ruby in this case.
https://travis-ci.org/rails/rails/jobs/46107954#L1077
|
| | | |
| | | |
| | | |
| | | | |
Date, Time, and DateTime
|
| | | | |
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
and DateTime
`#on_weekend?` returns true if the receiving date/time falls on a Saturday or
Sunday.
`#next_weekday` returns a new date/time representing the next day that does
not fall on a Saturday or Sunday.
`#prev_weekday` returns a new date/time representing the previous day that
does not fall on a Saturday or Sunday.
|
| | | |
| | | |
| | | |
| | | | |
skip]
|
|\ \ \ \
| | | | |
| | | | | |
Use directly TZInfo::Timezone without proxy
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Since real timezone is loaded anyway in `#utc_offset`
which is called during `#create`
|
| | | | | |
|