| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
| |
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.
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Reevaluating the log output generated from this instrumentation,
we've found that it wasn't all that useful in practice.
```
Caches multi read:
- views/david/2/4184ab71db6849621a4d8820fcd2c0ad
- views/david/2/4184ab71db6849621a4d8820fcd2c0ad
- views/david/3/4184ab71db6849621a4d8820fcd2c0ad
- views/david/3/4184ab71db6849621a4d8820fcd2c0ad
```
If rendering many templates the output is inscrutable, and it's impossible
to see how many cache misses there were.
Revert ca6aba7f30 and implement a better way later.
|
| |/ /
|/| | |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Cleans up four items I came across in ActiveSupport::Dependencies:
- DependenciesTest#
test_dependency_which_raises_exception_isnt_added_to_loaded_set:
Fixes current implementation which will pass no matter what since the
filepath is never added to "loaded" or "history" without being
expanded first.
- Remove DependenciesTest#test_unhook. Seems leftover from when
alias_method_chain was used in Loadable and ModuleConstMissing.
The test will always pass since Module never responds to those methods
- WatchStack#new_constants documentation: update self to @stack.
Looks like self was leftover from when WatchStack inherited from Hash
- Remove ActiveSupport namespace from call to
Dependencies.constant_watch_stack.watching? since the namespace is not
needed, Dependencies is called two other times in the same method
without it (even on the same line) and it brings the line to within
80 characters
|
|/ / |
|
| | |
|
| | |
|
|\ \
| | |
| | | |
Converting backtrace to strings before calling set_backtrace
|
| | |
| | |
| | |
| | | |
Fixes #23058
|
| | | |
|
|/ / |
|
| |
| |
| |
| |
| |
| |
| |
| | |
For better or worse, anonymous `*` args will allocate arrays. Ideally,
the interpreter would optimize away this allocation. However, given the
number of times we call `html_safe` it seems worth the shedding idealism
and going for performance. This line was the top allocation spot for a
scaffold (and presumably worse on real applications).
|
|\ \
| | |
| | | |
Hand off the interlock to the new thread in AC::Live
|
| | | |
|
| | |
| | |
| | |
| | | |
A full write-preferring wait can lead to deadlock.
|
| | |
| | |
| | |
| | |
| | |
| | | |
Most importantly, the original request thread must yield its share lock
while waiting for the live thread to commit -- otherwise a request's
base and live threads can deadlock against each other.
|
|\ \ \
| |/ /
|/| | |
|
| | |
| | |
| | |
| | | |
- Followup of https://github.com/rails/docrails/commit/10bc49710b7205a6172c3e072b3c77114fefd952
|