Class: SuperDiff::DiffFormatters::CustomObject

Inherits:
DefaultObject show all
Defined in:
lib/super_diff/diff_formatters/custom_object.rb

Class Method Summary collapse

Instance Method Summary collapse

Methods inherited from DefaultObject

#initialize

Constructor Details

This class inherits a constructor from SuperDiff::DiffFormatters::DefaultObject

Class Method Details

.applies_to?(operation_tree) ⇒ Boolean

Returns:

  • (Boolean)


4
5
6
# File 'lib/super_diff/diff_formatters/custom_object.rb', line 4

def self.applies_to?(operation_tree)
  operation_tree.is_a?(OperationTrees::CustomObject)
end

Instance Method Details

#callObject



8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
# File 'lib/super_diff/diff_formatters/custom_object.rb', line 8

def call
  Collection.call(
    open_token: "#<#{value_class} {",
    close_token: "}>",
    collection_prefix: collection_prefix,
    build_item_prefix: -> (operation) {
      key =
        if operation.respond_to?(:left_key)
          operation.left_key
        else
          operation.key
        end

      "#{key}: "
    },
    operation_tree: operation_tree,
    indent_level: indent_level,
    add_comma: add_comma?,
  )
end