Method: OpenC3::Structure#deep_copy

Defined in:
lib/openc3/packets/structure.rb

#deep_copyStructure

Clone that also deep copies items

Returns:

  • (Structure)

    A deep copy of the structure



522
523
524
525
526
527
528
529
530
531
532
533
534
# File 'lib/openc3/packets/structure.rb', line 522

def deep_copy
  cloned = clone()
  cloned_items = []
  cloned.sorted_items.each do |item|
    cloned_items << item.clone()
  end
  cloned.sorted_items = cloned_items
  cloned.items = {}
  cloned_items.each do |item|
    cloned.items[item.name] = item
  end
  return cloned
end