Module: Servactory::TestKit::Rspec::Matchers::Concerns::ErrorMessageBuilder::InstanceMethods
- Defined in:
- lib/servactory/test_kit/rspec/matchers/concerns/error_message_builder.rb
Overview
Instance methods added by this concern.
Instance Method Summary collapse
-
#build_diff_message(expected:, actual:, prefix: "") ⇒ String
Builds a diff-style message showing expected vs actual values.
-
#build_list_message(items, prefix: "") ⇒ String
Builds a comma-separated list message.
-
#format_value(value) ⇒ String
Formats a value for human-readable display.
Instance Method Details
#build_diff_message(expected:, actual:, prefix: "") ⇒ String
Builds a diff-style message showing expected vs actual values.
56 57 58 59 60 61 62 |
# File 'lib/servactory/test_kit/rspec/matchers/concerns/error_message_builder.rb', line 56 def (expected:, actual:, prefix: "") <<~MESSAGE #{prefix} expected: #{format_value(expected)} got: #{format_value(actual)} MESSAGE end |
#build_list_message(items, prefix: "") ⇒ String
Builds a comma-separated list message.
95 96 97 98 99 |
# File 'lib/servactory/test_kit/rspec/matchers/concerns/error_message_builder.rb', line 95 def (items, prefix: "") return "#{prefix}(empty)" if items.empty? "#{prefix}#{items.join(', ')}" end |
#format_value(value) ⇒ String
Formats a value for human-readable display.
Handles special cases:
-
Arrays: formats each element recursively
-
Hashes: uses inspect
-
Classes: shows class name
-
nil: shows “nil” string
-
Others: uses inspect
75 76 77 78 79 80 81 82 83 84 85 86 87 88 |
# File 'lib/servactory/test_kit/rspec/matchers/concerns/error_message_builder.rb', line 75 def format_value(value) # rubocop:disable Metrics/MethodLength case value when Array "[#{value.map { |v| format_value(v) }.join(', ')}]" when Hash value.inspect when Class value.name when nil "nil" else # rubocop:disable Lint/DuplicateBranch value.inspect end end |