Method: OpenC3::Structure#formatted
- Defined in:
- lib/openc3/packets/structure.rb
#formatted(value_type = :RAW, indent = 0, buffer = @buffer, ignored = nil) ⇒ String
Create a string that shows the name and value of each item in the structure
452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 |
# File 'lib/openc3/packets/structure.rb', line 452 def formatted(value_type = :RAW, indent = 0, buffer = @buffer, ignored = nil) indent_string = ' ' * indent string = '' synchronize_allow_reads(true) do @sorted_items.each do |item| next if ignored && ignored.include?(item.name) if (item.data_type != :BLOCK) || (item.data_type == :BLOCK and value_type != :RAW and item.respond_to? :read_conversion and item.read_conversion) string << "#{indent_string}#{item.name}: #{read_item(item, value_type, buffer)}\n" else value = read_item(item, value_type, buffer) if String === value string << "#{indent_string}#{item.name}:\n" string << value.formatted(1, 16, ' ', indent + 2) else string << "#{indent_string}#{item.name}: #{value}\n" end end end end return string end |