Remove finalizer and configuration

This commit is contained in:
Aaron Patterson 2019-01-23 15:50:48 -08:00
parent 5b4df9d0eb
commit 7d0ce785d4
No known key found for this signature in database
GPG Key ID: 953170BCB4FFAFC6
5 changed files with 0 additions and 50 deletions

@ -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"