diff options
author | Aaron Patterson <aaron.patterson@gmail.com> | 2019-01-29 15:17:52 -0800 |
---|---|---|
committer | Aaron Patterson <aaron.patterson@gmail.com> | 2019-01-29 15:49:40 -0800 |
commit | e17fe52e0e0ef0842b6c409e1110a862c4e005bc (patch) | |
tree | fcc3617c202d873ffed4d99844fbd7d6f6712cd0 /actionpack/lib/action_dispatch | |
parent | 94d54fa4ab641a0ddeb173409cb41cc5becc02a9 (diff) | |
download | rails-e17fe52e0e0ef0842b6c409e1110a862c4e005bc.tar.gz rails-e17fe52e0e0ef0842b6c409e1110a862c4e005bc.tar.bz2 rails-e17fe52e0e0ef0842b6c409e1110a862c4e005bc.zip |
Tighten up the AV::Base constructor
The AV::Base constructor was too complicated, and this commit tightens
up the parameters it will take. At runtime, AV::Base is most commonly
constructed here:
https://github.com/rails/rails/blob/94d54fa4ab641a0ddeb173409cb41cc5becc02a9/actionview/lib/action_view/rendering.rb#L72-L74
This provides an AV::Renderer instance, a hash of assignments, and a
controller instance. Since this is the common case for construction, we
should remove logic from the constructor that handles other cases. This
commit introduces special constructors for those other cases.
Interestingly, most code paths that construct AV::Base "strangely" are
tests.
Diffstat (limited to 'actionpack/lib/action_dispatch')
-rw-r--r-- | actionpack/lib/action_dispatch/middleware/debug_view.rb | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/actionpack/lib/action_dispatch/middleware/debug_view.rb b/actionpack/lib/action_dispatch/middleware/debug_view.rb index ac12dc13a1..5a7010a1c2 100644 --- a/actionpack/lib/action_dispatch/middleware/debug_view.rb +++ b/actionpack/lib/action_dispatch/middleware/debug_view.rb @@ -10,7 +10,9 @@ module ActionDispatch RESCUES_TEMPLATE_PATH = File.expand_path("templates", __dir__) def initialize(assigns) - super([RESCUES_TEMPLATE_PATH], assigns) + paths = [RESCUES_TEMPLATE_PATH] + renderer = ActionView::Renderer.new ActionView::LookupContext.new(paths) + super(renderer, assigns) end def debug_params(params) |