Class: Yard::Lint::Validators::Documentation::DuplicateNamespaceComment::MessagesBuilder
- Inherits:
-
Object
- Object
- Yard::Lint::Validators::Documentation::DuplicateNamespaceComment::MessagesBuilder
- Defined in:
- lib/yard/lint/validators/documentation/duplicate_namespace_comment/messages_builder.rb
Overview
Builds messages for duplicate namespace comment offenses
Constant Summary collapse
- MAX_LISTED_SITES =
Maximum number of documented locations listed inline in the message
5
Class Method Summary collapse
-
.call(offense) ⇒ String
Build message for a namespace documented in multiple files.
Class Method Details
.call(offense) ⇒ String
Build message for a namespace documented in multiple files
17 18 19 20 21 22 23 24 25 26 27 28 29 30 |
# File 'lib/yard/lint/validators/documentation/duplicate_namespace_comment/messages_builder.rb', line 17 def call(offense) sites = Array(offense[:sites]) listed = sites.first(MAX_LISTED_SITES).map { |site| relativize(site) } remainder = sites.size - listed.size located = listed.join(', ') located += " (+#{remainder} more)" if remainder.positive? differ = offense[:conflict] == 'differ' ? ' The docstrings differ, so content is lost.' : '' "Namespace `#{offense[:namespace]}` is documented in #{sites.size} files; " \ "YARD keeps only one docstring and discards the rest.#{differ} " \ "Documented at: #{located}. " \ 'Consolidate the documentation into a single location.' end |