class ViewComponent::Template::Inline
def initialize(component:, inline_template:)
def initialize(component:, inline_template:) details = ActionView::TemplateDetails.new(nil, inline_template.language.to_sym, nil, nil) # Rails 8.1 added a newline to compiled ERB output (rails/rails#53731). # Subtract 1 to compensate for correct line numbers in stack traces. # Inline templates start at line 2+ (defined inside a class), so this # won't result in negative line numbers that cause segfaults with coverage. lineno = if Rails::VERSION::MAJOR >= 8 && Rails::VERSION::MINOR > 0 && details.handler == :erb inline_template.lineno - 1 else inline_template.lineno end super( component: component, details: details, path: inline_template.path, lineno: lineno, ) @source = inline_template.source.dup end
def type
def type :inline end