class Lutaml::Model::ComparableModel::DiffContext
def format_value_tree(value1, value2, parent_node, label,
-
(String)
- Formatted value tree
Parameters:
-
type_info
(String, nil
) -- Additional type information -
label
(String
) -- The label for the value -
is_last
(Boolean
) -- Whether this is the last item in the current level -
value2
(Object
) -- The second value -
value1
(Object
) -- The first value
def format_value_tree(value1, value2, parent_node, label, o = nil) return if value1 == value2 && !@show_unchanged if value1 == value2 if @show_unchanged return format_single_value( value1, parent_node, "#{label}#{type_info ? " (#{type_info})" : ''}", ) end return if @highlight_diff end case value1 when Array format_collection(value1, value2, parent_node) when Hash format_hash_tree(value1, value2, parent_node) when ComparableModel format_object_attributes(value1, value2, parent_node) else node = Tree.new("#{label}#{type_info ? " (#{type_info})" : ''}:") parent_node.add_child(node) node.add_child(Tree.new("- #{format_value(value1)}", color: :red)) node.add_child(Tree.new("+ #{format_value(value2)}", color: :green)) end end