class ViewComponent::Compiler
def define_render_template_for
Experimental RBS support (using type sampling data from the type_fusion
project).
def define_render_template_for: () -> Symbol
This signature was generated using 2 samples from 1 application.
def define_render_template_for variant_elsifs = variants.compact.uniq.map do |variant| safe_name = "_call_variant_#{normalized_variant_name(variant)}_#{safe_class_name}" component_class.define_method(safe_name, component_class.instance_method(call_method_name(variant))) "elsif variant.to_sym == :'#{variant}'\n #{safe_name}" end.join("\n") component_class.define_method("_call_#{safe_class_name}", component_class.instance_method(:call)) body = <<-RUBY if variant.nil? _call_#{safe_class_name} #{variant_elsifs} else _call_#{safe_class_name} end RUBY redefinition_lock.synchronize do component_class.silence_redefinition_of_method(:render_template_for) component_class.class_eval <<-RUBY, __FILE__, __LINE__ + 1 def render_template_for(variant = nil) #{body} end RUBY end end