Remove finalizer and configuration
This commit is contained in:
parent
5b4df9d0eb
commit
7d0ce785d4
@ -10,7 +10,6 @@ class Railtie < Rails::Engine # :nodoc:
|
||||
config.action_view.embed_authenticity_token_in_remote_forms = nil
|
||||
config.action_view.debug_missing_translation = true
|
||||
config.action_view.default_enforce_utf8 = nil
|
||||
config.action_view.finalize_compiled_template_methods = true
|
||||
|
||||
config.eager_load_namespaces << ActionView
|
||||
|
||||
@ -46,13 +45,6 @@ class Railtie < Rails::Engine # :nodoc:
|
||||
end
|
||||
end
|
||||
|
||||
initializer "action_view.finalize_compiled_template_methods" do |app|
|
||||
ActiveSupport.on_load(:action_view) do
|
||||
ActionView::Template.finalize_compiled_template_methods =
|
||||
app.config.action_view.delete(:finalize_compiled_template_methods)
|
||||
end
|
||||
end
|
||||
|
||||
initializer "action_view.logger" do
|
||||
ActiveSupport.on_load(:action_view) { self.logger ||= Rails.logger }
|
||||
end
|
||||
|
@ -10,8 +10,6 @@ module ActionView
|
||||
class Template
|
||||
extend ActiveSupport::Autoload
|
||||
|
||||
mattr_accessor :finalize_compiled_template_methods, default: true
|
||||
|
||||
# === Encodings in ActionView::Template
|
||||
#
|
||||
# ActionView::Template is one of a few sources of potential
|
||||
@ -118,16 +116,6 @@ class Template
|
||||
|
||||
attr_reader :source, :identifier, :handler, :original_encoding, :updated_at
|
||||
|
||||
# This finalizer is needed (and exactly with a proc inside another proc)
|
||||
# otherwise templates leak in development.
|
||||
Finalizer = proc do |method_name, mod| # :nodoc:
|
||||
proc do
|
||||
mod.module_eval do
|
||||
remove_possible_method method_name
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
attr_reader :variable
|
||||
|
||||
def initialize(source, identifier, handler, details)
|
||||
@ -337,9 +325,6 @@ def #{method_name}(local_assigns, output_buffer)
|
||||
end
|
||||
|
||||
mod.module_eval(source, identifier, 0)
|
||||
if finalize_compiled_template_methods
|
||||
ObjectSpace.define_finalizer(self, Finalizer[method_name, mod])
|
||||
end
|
||||
end
|
||||
|
||||
def handle_render_error(view, e)
|
||||
|
@ -590,13 +590,6 @@ Defaults to `'signed cookie'`.
|
||||
|
||||
* `config.action_view.default_enforce_utf8` determines whether forms are generated with a hidden tag that forces older versions of Internet Explorer to submit forms encoded in UTF-8. This defaults to `false`.
|
||||
|
||||
* `config.action_view.finalize_compiled_template_methods` determines
|
||||
whether the methods on `ActionView::CompiledTemplates` that templates
|
||||
compile themselves to are removed when template instances are
|
||||
destroyed by the garbage collector. This helps prevent memory leaks in
|
||||
development mode, but for large test suites, disabling this option in
|
||||
the test environment can improve performance. This defaults to `true`.
|
||||
|
||||
|
||||
### Configuring Action Mailbox
|
||||
|
||||
|
@ -48,7 +48,4 @@ Rails.application.configure do
|
||||
|
||||
# Raises error for missing translations.
|
||||
# config.action_view.raise_on_missing_translations = true
|
||||
|
||||
# Prevent expensive template finalization at end of test suite runs.
|
||||
config.action_view.finalize_compiled_template_methods = false
|
||||
end
|
||||
|
@ -2092,23 +2092,6 @@ class ::DummySerializer < ActiveJob::Serializers::ObjectSerializer; end
|
||||
assert_equal true, ActionView::Helpers::FormTagHelper.default_enforce_utf8
|
||||
end
|
||||
|
||||
test "ActionView::Template.finalize_compiled_template_methods is true by default" do
|
||||
app "test"
|
||||
assert_equal true, ActionView::Template.finalize_compiled_template_methods
|
||||
end
|
||||
|
||||
test "ActionView::Template.finalize_compiled_template_methods can be configured via config.action_view.finalize_compiled_template_methods" do
|
||||
app_file "config/environments/test.rb", <<-RUBY
|
||||
Rails.application.configure do
|
||||
config.action_view.finalize_compiled_template_methods = false
|
||||
end
|
||||
RUBY
|
||||
|
||||
app "test"
|
||||
|
||||
assert_equal false, ActionView::Template.finalize_compiled_template_methods
|
||||
end
|
||||
|
||||
test "ActiveJob::Base.return_false_on_aborted_enqueue is true by default" do
|
||||
app "development"
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user