instance method
compile!
Ruby on Rails 8.0.4
Since v5.2.8.1 PrivateSignature
compile!(view)
Compile a template. This method ensures a template is compiled just once and removes the source after it is compiled.
Parameters
-
viewreq
Source
# File actionview/lib/action_view/template.rb, line 418
def compile!(view)
return if @compiled
# Templates can be used concurrently in threaded environments
# so compilation and any instance variable modification must
# be synchronized
@compile_mutex.synchronize do
# Any thread holding this lock will be compiling the template needed
# by the threads waiting. So re-check the @compiled flag to avoid
# re-compilation
return if @compiled
mod = view.compiled_method_container
instrument("!compile_template") do
compile(mod)
end
@compiled = true
end
end
Defined in actionview/lib/action_view/template.rb line 418
· View on GitHub
· Improve this page
· Find usages on GitHub
Defined in ActionView::Template