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