Class: Yard::Lint::Validators::Documentation::TextSubstitution::MessagesBuilder

Inherits:
Object
  • Object
show all
Defined in:
lib/yard/lint/validators/documentation/text_substitution/messages_builder.rb

Overview

Builds human-readable messages for TextSubstitution violations.

Class Method Summary collapse

Class Method Details

.call(offense) ⇒ String

Returns formatted message.

Parameters:

  • offense (Hash)

    offense details with :forbidden, :replacement, :line_text keys

Returns:

  • (String)

    formatted message



13
14
15
16
17
18
19
20
21
22
23
24
25
26
# File 'lib/yard/lint/validators/documentation/text_substitution/messages_builder.rb', line 13

def call(offense)
  forbidden   = offense[:forbidden]
  replacement = offense[:replacement]
  line_text   = offense[:line_text]

  message = "Replace '#{forbidden}' with '#{replacement}' in documentation"

  if line_text && !line_text.empty?
    truncated = line_text.length > 60 ? "#{line_text[0, 57]}..." : line_text
    message += ". Found: \"#{truncated}\""
  end

  message
end