Class: SuperDiff::DiffFormatters::Hash

Inherits:
Base
  • Object
show all
Defined in:
lib/super_diff/diff_formatters/hash.rb

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.applies_to?(operation_tree) ⇒ Boolean

Returns:

  • (Boolean)


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

def self.applies_to?(operation_tree)
  operation_tree.is_a?(OperationTrees::Hash)
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
28
29
30
31
# File 'lib/super_diff/diff_formatters/hash.rb', line 8

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

      if key.is_a?(Symbol)
        "#{key}: "
      else
        "#{key.inspect} => "
      end
    },
    operation_tree: operation_tree,
    indent_level: indent_level,
    add_comma: add_comma?,
  )
end