class ActionView::Template

def render(view, locals, buffer = nil, implicit_locals: [], add_to_stack: true, &block)

Experimental RBS support (using type sampling data from the type_fusion project).

def render: (#<Class:0x000000013213faa0> view, Hash locals, ?nil buffer, implicit_locals: Array[], add_to_stack: true, ) -> ActiveSupport::SafeBuffer

This signature was generated using 1 sample from 1 application.

consume this in production. This is only slow if it's being listened to.
we use a bang in this instrumentation because you don't want to
This method is instrumented as "!render_template.action_view". Notice that

exactly before rendering.
Render a template. If the template was not compiled yet, it is done
def render(view, locals, buffer = nil, implicit_locals: [], add_to_stack: true, &block)
  instrument_render_template do
    compile!(view)
    if strict_locals? && @strict_local_keys && !implicit_locals.empty?
      locals_to_ignore = implicit_locals - @strict_local_keys
      locals.except!(*locals_to_ignore)
    end
    if buffer
      view._run(method_name, self, locals, buffer, add_to_stack: add_to_stack, has_strict_locals: strict_locals?, &block)
      nil
    else
      view._run(method_name, self, locals, OutputBuffer.new, add_to_stack: add_to_stack, has_strict_locals: strict_locals?, &block)&.to_s
    end
  end
rescue => e
  handle_render_error(view, e)
end