Class: Lutaml::Xsd::Errors::MessageBuilder

Inherits:
Object
  • Object
show all
Defined in:
lib/lutaml/xsd/errors/message_builder.rb

Overview

Builder for constructing detailed error messages

Examples:

Building an error message

builder = MessageBuilder.new(error)
message = builder.build

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(error) ⇒ MessageBuilder

Initialize message builder

Parameters:



18
19
20
# File 'lib/lutaml/xsd/errors/message_builder.rb', line 18

def initialize(error)
  @error = error
end

Instance Attribute Details

#errorEnhancedError (readonly)

Returns The error to build message for.

Returns:



13
14
15
# File 'lib/lutaml/xsd/errors/message_builder.rb', line 13

def error
  @error
end

Instance Method Details

#buildString

Build complete error message

Returns:

  • (String)

    Formatted error message



25
26
27
28
29
30
31
32
# File 'lib/lutaml/xsd/errors/message_builder.rb', line 25

def build
  parts = []
  parts << header
  parts << context_details if @error.context && !@error.context.to_h.empty?
  parts << suggestions_section if @error.respond_to?(:suggestions) && @error.suggestions.any?
  parts << troubleshooting_section if @error.respond_to?(:troubleshooting_tips) && @error.troubleshooting_tips.any?
  parts.compact.join("\n\n")
end