mirror of
https://github.com/rails/rails.git
synced 2022-11-09 12:12:34 -05:00
23 lines
570 B
Ruby
23 lines
570 B
Ruby
|
# frozen_string_literal: true
|
||
|
|
||
|
module ActionView #:nodoc:
|
||
|
class Template #:nodoc:
|
||
|
class Inline < Template #:nodoc:
|
||
|
# 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
|
||
|
|
||
|
def compile(mod)
|
||
|
super
|
||
|
ObjectSpace.define_finalizer(self, Finalizer[method_name, mod])
|
||
|
end
|
||
|
end
|
||
|
end
|
||
|
end
|