| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Ruby 2.4 introduces `Array#sum`, but it only supports numeric elements,
breaking our `Enumerable#sum` which supports arbitrary `Object#+`.
To fix, override `Array#sum` with our compatible implementation.
Native Ruby 2.4:
%w[ a b ].sum
# => TypeError: String can't be coerced into Fixnum
With `Enumerable#sum` shim:
%w[ a b ].sum
# => 'ab'
We tried shimming the fast path and falling back to the compatible path
if it fails, but that ends up slower even in simple causes due to the cost
of exception handling. Our only choice is to override the native `Array#sum`
with our `Enumerable#sum`.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
```ruby
ActiveSupport::Duration.parse('P3Y6M4DT12H30M5S')
(3.years + 3.days).iso8601
```
Inspired by Arnau Siches' [ISO8601 gem](https://github.com/arnau/ISO8601/)
and rewritten by Andrey Novikov with suggestions from Andrew White. Test
data from the ISO8601 gem redistributed under MIT license.
(Will be used to support the PostgreSQL interval data type.)
|
|\
| |
| |
| | |
Fix forced cache miss for fetch when called without a block.
|
|/
|
|
|
|
| |
- Raised an argument error if no block is passed to #fetch with
'force: true' option is set.
- Added tests for the same.
|
|\
| |
| |
| |
| |
| |
| | |
Introduce weeks and hours periods to Duration.
Change 1.week to create a 1 week duration instead of 7 days and 1.hour
to create a 1 hour duration instead of 3600 seconds.
|
|/
|
|
| |
This is just to remove astonishment from getting `3600 seconds` from typing `1.hour`.
|
| |
|
|\
| |
| |
| | |
`number_to_phone` formats number with regexp
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
By default, this method formats US number. This commit extends its
functionality to format number for other countries with a custom regular
expression.
number_to_phone(18812345678, pattern: /(\d{3})(\d{4})(\d{4})/)
# => 188-1234-5678
The output phone number is divided into three groups, so the regexp
should also match three groups of numbers.
|
| |
| |
| |
| |
| |
| |
| |
| | |
Previously `String#to_time` returned the midnight of the current date
in some cases where there was no relavant information in the string.
Now the method returns `nil` instead in those cases.
Fixes #22958.
|
|/
|
|
|
|
|
|
| |
The native DateTime#<=> implementation can be used to compare instances
with numeric values being considered as astronomical julian day numbers
so we should call that instead of returning nil.
Fixes #24228.
|
| |
|
|\
| |
| |
| | |
Add upcase_first method
|
| | |
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| | |
[ci skip]
Sync AV, AR, AJ, AS, AM changelogs with our 5.0 release notes draft.
This is a follow up to c94045d and contains changes made since the
release of beta1.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Fix a bug in `Marshal.load` that caused it to loop indefinitely when
trying to autoload a constant that resolved to a different name.
This could occur when marshalling an ActiveRecord 4.0 object (e.g. into
memcached) and then trying to unmarshal it with Rails 4.2. The
marshalled payload contains a reference to
`ActiveRecord::ConnectionAdapters::Mysql2Adapter::Column`, which in
Rails 4.2 resolves to
`ActiveRecord::ConnectionAdapters::AbstractMysqlAdapter::Column`.
|
| | |
|
|\ \
| | |
| | |
| | | |
Deprecate `Module.local_constants`
|
| |/
| |
| |
| |
| | |
After Ruby 1.9, we can easily get the constants that have been
defined locally by `Module.constants(false)`.
|
|/
|
|
|
|
| |
These should allow external code to run blocks of user code to do
"work", at a similar unit size to a web request, without needing to get
intimate with ActionDipatch.
|
|
|
|
| |
Adds changelog headers for beta3 release
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
| |
And improve changelongs.
[ci skip]
|
| |
|
|
|
|
| |
[ci skip]
|
|
|
|
|
|
|
|
|
|
|
| |
- Instead of using `to_f.phase`, just use `to_f.negative`?.
- This change works same for all cases except when number is "-0.0".
-0.0.to_f.negative? => false
-0.0.to_f.phase? => pi
- So -0.0 will be treated as positive from now onwards.
- So this change reverts changes from https://github.com/rails/rails/pull/6512.
- But it should be acceptable as we could not find any currency which
supports negative zeros.
|
| |
|
| |
|
|
|
|
|
| |
petabyte and exabyte numeric conversion has been added after the 5.0.0.beta1 release.
ref: 85048e90ab6ff6963919a9d10493b3910cd67b68
|
|
|
|
| |
[ci skip]
|
|\
| |
| |
| |
| | |
rthbound/adds-exception-object-to-instrumenter-payload
Adds exception object to instrumenter's payload
|
| |
| |
| |
| |
| |
| |
| | |
- Adds new key/value pair to payload when an exception is raised
e.g. `:exception_object=> #<RuntimeError: FAIL>`
- Updates relevant test
- Adds CHANGELOG entry
|
|/ |
|
|
|
| |
It's numeric and the framework is called Action Controller.
|
|
|
|
| |
CHANGELOG entry for petabyte and exabyte
|
|
|
|
| |
[ci skip]
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
During the `5.0.0.beta1` release, the CHANGELOGs got an entry like the
following:
```
* No changes.
```
It is kinda confusing as there are indeed changes after it. Not a
biggie, just a small pass over the CHANGELOGs.
[ci skip]
|
| |
|
| |
|
|
|
|
| |
class and module variables that live per-thread
|
| |
|
|\
| |
| | |
Deprecate passing string to define callback.
|
| | |
|
|/
|
|
|
|
|
|
|
|
|
| |
Before this commit, the sole presence of the Listen constant
enabled the evented file watcher (unless listen resorted to
the polling backend).
This way, applications may depend on listen for other stuff
independently of this feature. Also, allows teams with mixed
setups to decide at boot time whether the evented watcher
should be enabled for each particular instance.
|