| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|\
| |
| | |
Clean up after a failure in a run callback
|
| |
| |
| |
| | |
Also, make sure to call the +complete+ hooks if +run+ fails.
|
| | |
|
|\ \
| | |
| | |
| | |
| | | |
mtsmfm/fix-marshal-with-autoloading-for-nested-class
Fix marshal with autoloading for nested class/module
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
#24150 break autoloading for nested class/module.
There is test for nested class but it doesn't work correctly.
Following code will autoload `ClassFolder::ClassFolderSubclass` before `Marshal.load`:
`assert_kind_of ClassFolder::ClassFolderSubclass, Marshal.load(dumped)`
|
|\ \ \
| |_|/
|/| |
| | | |
`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.
|
|\ \ \ |
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
s/symantically/semantically/
[ci skip]
|
| |/ /
|/| |
| | |
| | |
| | | |
Because `DateTime` inherits `Date` and `Date` includes `DateAndTime::Zones`,
`DateTime` not need to include `DateAndTime::Zones` again.
|
| | | |
|
| | |
| | |
| | |
| | | |
[ci skip]
|
|\ \ \
| |_|/
|/| |
| | | |
Add upcase_first method
|
| | | |
|
| | |
| | |
| | | |
mattr_writer to mattr_reader
|
| | |
| | |
| | | |
renamed cattr_reader to mattr_reader
|
| | | |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
In a previous patch, all log-related stuff was removed. However,
some logs are still useful to understand the code. Therefore, in
this patch, I put those log messages back as comments.
[ci skip]
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
If the code reaches that line new_constants is no longer needed.
We only need here to iterate over it to discard stuff and done.
Note that constant_watch_stack.new_constants returns a new
reference each time it is invoked, so that #clear call was not
cleaning state in some internal structure (which would have been
a bit dirty as well at this level of coupling).
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
This array literal cannot be reached. The previous begin either
returns to the caller via the explicit return in the ensure
block if all goes well, or else propagates whatever make the
begin block abort execution.
I have investigated the origin of this a bit. In the past the
ensure block didn't have a return call, see for example c08547d.
Later on the return was added in 4da4506, but the trailing
literal was left there.
|
| | |
| | |
| | |
| | |
| | | |
In this patch, all log-related stuff in `ActiveSupport::Dependencies`
is removed because the logging is no longer useful.
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
There was some subtle breakage caused by #18774, when we removed
`#original_exception` in favor of `#cause`. However, `#cause` is
automatically set by Ruby when raising an exception from a rescue block.
With this change, we will use whichever handler has the highest priority
(whichever call to `rescue_from` came last). In cases where the outer
has lower precidence than the cause, but the outer is what should be
handled, cause will need to be explicitly unset.
Fixes #23925
|
|\ \ \
| | | |
| | | | |
Prevent `Marshal.load` from looping infinitely
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
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`.
|
|\ \ \ \
| | | | |
| | | | | |
Fix `thread_mattr_accessor` thread-local variable naming
|
| |/ / /
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
The current implentation of `thread_mattr_accessor` is setting
differently-named thread variables when defining class and
instance writer methods, so the method isn't working as documented:
Account.user = "DHH"
Account.user # => "DHH"
Account.new.user # => nil
a = Account.new
a.user = "ABC" # => "ABC"
a.class.user # => "DHH"
At this point `:attr_Account_user` and `:attr_Class_user` thread-local
variables have been created. Modify the reader and writer methods to use
the class name instead of 'Class'.
|
|/ / /
| | |
| | |
| | | |
`ActionDispatch::Reloader.to_prepare` [ci skip]
|
| | | |
|
| | | |
|
| |/
|/| |
|
| | |
|
| |
| |
| |
| |
| | |
The test failure in `bug_report_templates/action_controller_master.rb`
is due to `app.reloader.check` is `nil`.
|
|\ \
| | |
| | |
| | | |
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.
|
| |
|
| |
|
|
|
|
| |
Also use the new hash syntax.
|
|\
| |
| |
| | |
Fix logger silencing for broadcasted loggers
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Fix #23609
Commit 629efb6 introduced thread safety to logger silencing but it
didn't take into account the fact that the logger can be extended with
broadcasting to other logger.
This commit introduces local_level to broadcasting Module which enables
broadcasted loggers to be properly silenced.
|
| |
| |
| |
| | |
Fixes #22982.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Before:
```
DEPRECATION WARNING: Passing arguments to assert_nothing_raised
is deprecated and will be removed in Rails 5.1.
```
After:
```
DEPRECATION WARNING: Passing arguments to assert_nothing_raised is deprecated and will be removed in Rails 5.1.
```
|
| | |
|
| | |
|
|\ \
| | |
| | | |
Show correct return types for examples
|
| | | |
|
|\ \ \
| | | |
| | | | |
Make collection caching explicit.
|