| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
| |
* Update #instrument to make passing a block optional. This will let users
leverage #instrument for messaging in addition to instrumentation.
|
|
|
|
|
|
|
|
|
| |
In #10634 the behavior of Time#advance was changed to maintain a
proleptic gregorian calendar for dates before calendar reform. However
it didn't full address dates a long time before calendar reform and
they gradually drift away from the proleptic calendar the further you
go back in time. Fix this by always converting the date to gregorian
before calling advance which sets the reform date to -infinity.
|
|
|
|
|
|
|
|
|
|
| |
When FileUpdateChecker is passed a directory and given an empty array of
extensions to match on, it will match any extension.
Previously, EventedFileUpdateChecker would never match any files when
given an empty array. This commit makes it EventedFileUpdateChecker
match FileUpdateChecker, and watch all extensions when given an empty
array.
|
| |
|
|
|
|
| |
Also add tests for parametrize and transliterate
|
| |
|
|
|
|
| |
Enumerable#excluding
|
|
|
|
| |
Related to 287920ca7d06c8f51198ec750d65ba703835b257
|
|
|
|
|
|
|
|
| |
Both methods were introduced in Ruby 2.5 and fit this use case very
nicely: listing a directory's entries excluding the "." and ".." nodes.
The private method #exclude_from was removed as it no longer serves
its original purpose.
|
|\
| |
| | |
use ProxyPattern to match for ActiveSupport::Notifications fanout/unsubscribe
|
| | |
|
| | |
|
| | |
|
|/ |
|
|
|
|
|
| |
If they're not set we'll still fall back to localhost, but this makes it
possible to run the tests against a remote Postgres / Redis / whatever.
|
|\
| |
| |
| | |
Support before_reset callback in CurrentAttributes
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This is useful when we need to do some work associated to `Current.reset`
but that work depends on the values of the current attributes themselves.
This cannot be done in the supported `resets` callback because when the
block is executed, CurrentAttributes's instance has already been reset.
For symmetry, `after_reset` is defined as alias of `resets`.
|
|/ |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
### Summary
There was an issues when using `safe_constantize` on a string that has
the wrong case.
File `em.rb` defines `EM`.
`"Em".safe_constantize` causes a little confusion with the autoloader.
The autoloader finds file "em.rb",
expecting it to define `Em`, but `Em` is not defined.
The autoloader raises a `LoadError`, which is good,
But `safe_constantize` is defined to return `nil` when a class is not found.
### Before
```
"Em".safe_constantize
LoadError: Unable to autoload constant Em, \
expected rails/activesupport/test/autoloading_fixtures/em.rb to define it
```
### After
```
"Em".safe_constantize
# => nil
```
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* Enable `Lint/UselessAssignment` cop to avoid unused variable warnings
Since we've addressed the warning "assigned but unused variable"
frequently.
370537de05092aeea552146b42042833212a1acc
3040446cece8e7a6d9e29219e636e13f180a1e03
5ed618e192e9788094bd92c51255dda1c4fd0eae
76ebafe594fc23abc3764acc7a3758ca473799e5
And also, I've found the unused args in c1b14ad which raises no warnings
by the cop, it shows the value of the cop.
|
|\
| |
| | |
Preserve key order of #fetch_multi
|
| |
| |
| |
| |
| |
| | |
fetch_multi(*names) now returns its results in the same order
as the `*names` requested, rather than returning cache hits
followed by cache misses.
|
| | |
|
| |
| |
| | |
Accommodate case-insensitive filesystems and database collations.
|
| |
| |
| |
| |
| |
| |
| | |
Rails 6 requires Ruby 2.5, which introduces `FrozenError`
https://docs.ruby-lang.org/en/2.5.0/NEWS.html
Related to #31520
|
| |
| |
| |
| | |
See https://travis-ci.org/rails/rails/jobs/470890129#L2361
|
|\ \
| | |
| | | |
Enable `Style/RedundantBegin` cop to avoid newly adding redundant begin block
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Currently we sometimes find a redundant begin block in code review
(e.g. https://github.com/rails/rails/pull/33604#discussion_r209784205).
I'd like to enable `Style/RedundantBegin` cop to avoid that, since
rescue/else/ensure are allowed inside do/end blocks in Ruby 2.5
(https://bugs.ruby-lang.org/issues/12906), so we'd probably meets with
that situation than before.
|
|\ \ \
| | | |
| | | | |
Do no watch parent directory of `dirs`
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
`EventedFileUpdateChecker` will search the parent directory if the
specified directory does not exist.
Since `test/mailers/previews` is included in the watch target by default,
if there is no test directory (e.g. using `rspec`), the Rails root directory
will be included in the watch target.
```
$ rails new app
$ cd app
$ ./bin/rails r "p Rails.application.reloaders.last.send(:directories_to_watch).include?(Rails.root)"
false
$ rm -rf test
$ ./bin/rails r "p Rails.application.reloaders.last.send(:directories_to_watch).include?(Rails.root)"
true
```
This causes `node_modules` to be included in watch target. Adding parent
directories to watch target may include unexpected directories.
In order to avoid this, fixed that parents of nonexistent directories are
not added to the watch targets, instead checking that the directory
exists when checking changes.
Related to #32700.
[Matthew Draper & Yuji Yaginuma]
|
| | | |
| | | |
| | | |
| | | | |
This is a regression test for #34751.
|
|\ \ \ \
| |_|/ /
|/| | | |
Follow up #34754
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
- Fix a few deprecation warnings
- Remove testing of `Hash#slice`
- Imporve test of `Hash#slice!`
- Remove mention about `Hash#slice` from the guide
|
|/ / /
| | |
| | |
| | |
| | |
| | | |
since Ruby 2.5
https://bugs.ruby-lang.org/issues/14133
|
| | |
| | |
| | |
| | | |
Follow up #34761.
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
`Hash#transform_keys!`
Since Rails 6 requires Ruby 2.5.
https://github.com/ruby/ruby/blob/ruby_2_5/NEWS
Follow up #34754.
|
|/ /
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
* Extend documentation of `ActiveSupport::Notifications.subscribe`
Add mention that a block with only one argument passed to the method
will yield an event object.
Related to #33451
* Emphasize that `SubscribeEventObjects` is a test class by adding suffix `Test`
|
| |
| |
| |
| | |
There was no test without an alternate method name is given.
|
|/
|
|
| |
Ref https://github.com/rails/rails/commit/59ff1ba30d9f4d34b4d478104cc3f453e553c67a#diff-38fb97fba84b1ef0f311c4110a597c44R35
|
|
|
|
|
|
|
|
| |
Before #33325, `deprecate` works for non-exist methods.
This is necessary, for example, if want to deprecate dynamically defined
methods like attributes methods.
Fixes #34646
|
|
|
|
|
|
|
|
|
| |
If the same block is included multiple times, we no longer raise an exception
or overwrite the included block instance variable.
Fixes #14802.
[Mark J. Titorenko + Vlad Bokov]
|
|\
| |
| | |
`atomic_write`: Ensure correct permission when `tmpdir` is the same as `dirname`.
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This fixes following warnings:
```
test/dependencies_test.rb:287: warning: possibly useless use of :: in void context
test/dependencies_test.rb:300: warning: possibly useless use of a constant in void context
```
|
| |
| |
| |
| | |
Closes #34062
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Fixes #34359
Prior to 5.2.0 (2cad8d7), HashWithIndifferentAccess#to_options acted as
an alias to HashWithIndifferentAccess#symbolize_keys. Now, #to_options
returns an instance of HashWithIndifferentAccess while #symbolize_keys
returns and instance of Hash.
This pr makes it so HashWithIndifferentAccess#to_options acts as an
alias for HashWithIndifferentAccess#symbolize_keys once again.
|
| |
| |
| |
| |
| |
| |
| | |
If you require `nokogiri` from `app/models/user.rb`, dependencies.rb
does not mark `Nokogiri` as an autoloaded constant, as expected.
But the logic to detect these non-autoloaded constants is incomplete.
See the tests defined in the patch for some cases incorrectly handled.
|