class ViewComponent::Template
def compile_to_component
def compile_to_component @component.silence_redefinition_of_method(call_method_name) # rubocop:disable Style/EvalWithLocation @component.class_eval <<~RUBY, @path, @lineno - 1 def #{call_method_name} @view_context.instance_variable_set(:@virtual_path, virtual_path) #{compiled_source} end RUBY # rubocop:enable Style/EvalWithLocation @component.define_method(safe_method_name, @component.instance_method(@call_method_name)) end