module TraceHeader::Description
Constants
- MAXIMUM_LENGTH
Public Instance Methods
display(result)
click to toggle source
# File lib/trace_header/description.rb, line 5 def display(result) puts description(result) end
Private Instance Methods
description(result)
click to toggle source
# File lib/trace_header/description.rb, line 10 def description(result) <<~"TEXT" ---------------------------------------------------- TraceHeader printing... [Target Middleware] #{result.target_app.class}\n [New Headers] #{detailed_description(result.new_headers)} [Changed Headers] #{detailed_description(result.changed_headers)} ---------------------------------------------------- TEXT end
detailed_description(headers)
click to toggle source
# File lib/trace_header/description.rb, line 26 def detailed_description(headers) if headers.empty? " - Nothing added. -\n" else <<~"TEXT" #{lined_description(headers).join("\n")} TEXT end end
form(text)
click to toggle source
# File lib/trace_header/description.rb, line 42 def form(text) text.split(';').map do |str| str.size > MAXIMUM_LENGTH ? str[0..MAXIMUM_LENGTH] + '...' : str end.join(';') end
lined_description(headers)
click to toggle source
# File lib/trace_header/description.rb, line 36 def lined_description(headers) headers.flat_map do |header| header.map { |field, value| " - #{field}: #{form(value)}" } end end