class ViewComponent::Template

def compiled_source

def compiled_source
  handler = ActionView::Template.handler_for_extension(@extension)
  this_source = source
  this_source.rstrip! if @component.strip_trailing_whitespace?
  short_identifier = defined?(Rails.root) ? @path.sub("#{Rails.root}/", "") : @path
  type = ActionView::Template::Types[@this_format]
  if handler.method(:call).parameters.length > 1
    handler.call(
      DataWithSource.new(format: @this_format, identifier: @path, short_identifier: short_identifier, type: type),
      this_source
    )
  # :nocov:
  # TODO: Remove in v4
  else
    handler.call(DataNoSource.new(source: this_source, identifier: @path, type: type))
  end
  # :nocov:
end