super_diff 0.7.0 → 0.8.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (174) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +0 -1
  3. data/lib/super_diff.rb +27 -6
  4. data/lib/super_diff/active_record.rb +7 -7
  5. data/lib/super_diff/active_record/differs/active_record_relation.rb +3 -13
  6. data/lib/super_diff/active_record/object_inspection.rb +2 -6
  7. data/lib/super_diff/active_record/object_inspection/inspection_tree_builders.rb +16 -0
  8. data/lib/super_diff/active_record/object_inspection/{inspectors → inspection_tree_builders}/active_record_model.rb +19 -20
  9. data/lib/super_diff/active_record/object_inspection/{inspectors → inspection_tree_builders}/active_record_relation.rb +9 -8
  10. data/lib/super_diff/active_record/operation_tree_flatteners.rb +10 -0
  11. data/lib/super_diff/active_record/operation_tree_flatteners/active_record_relation.rb +17 -0
  12. data/lib/super_diff/active_record/operation_trees/active_record_relation.rb +8 -7
  13. data/lib/super_diff/active_support.rb +8 -8
  14. data/lib/super_diff/active_support/differs/hash_with_indifferent_access.rb +3 -13
  15. data/lib/super_diff/active_support/object_inspection.rb +2 -6
  16. data/lib/super_diff/active_support/object_inspection/{inspectors.rb → inspection_tree_builders.rb} +2 -2
  17. data/lib/super_diff/active_support/object_inspection/inspection_tree_builders/hash_with_indifferent_access.rb +37 -0
  18. data/lib/super_diff/active_support/operation_tree_builders/hash_with_indifferent_access.rb +17 -0
  19. data/lib/super_diff/active_support/operation_tree_flatteners.rb +10 -0
  20. data/lib/super_diff/active_support/operation_tree_flatteners/hash_with_indifferent_access.rb +17 -0
  21. data/lib/super_diff/active_support/operation_trees/hash_with_indifferent_access.rb +4 -7
  22. data/lib/super_diff/colorized_document_extensions.rb +9 -6
  23. data/lib/super_diff/configuration.rb +81 -8
  24. data/lib/super_diff/csi.rb +1 -2
  25. data/lib/super_diff/csi/four_bit_color.rb +0 -2
  26. data/lib/super_diff/differs/array.rb +1 -1
  27. data/lib/super_diff/differs/base.rb +3 -21
  28. data/lib/super_diff/differs/custom_object.rb +1 -1
  29. data/lib/super_diff/differs/default_object.rb +1 -1
  30. data/lib/super_diff/differs/hash.rb +1 -1
  31. data/lib/super_diff/differs/main.rb +1 -7
  32. data/lib/super_diff/differs/multiline_string.rb +1 -1
  33. data/lib/super_diff/differs/time_like.rb +1 -1
  34. data/lib/super_diff/equality_matchers/array.rb +2 -2
  35. data/lib/super_diff/equality_matchers/default.rb +2 -2
  36. data/lib/super_diff/equality_matchers/hash.rb +2 -2
  37. data/lib/super_diff/equality_matchers/multiline_string.rb +2 -2
  38. data/lib/super_diff/equality_matchers/primitive.rb +4 -7
  39. data/lib/super_diff/equality_matchers/singleline_string.rb +2 -2
  40. data/lib/super_diff/helpers.rb +52 -2
  41. data/lib/super_diff/line.rb +83 -0
  42. data/lib/super_diff/object_inspection.rb +12 -1
  43. data/lib/super_diff/object_inspection/inspection_tree.rb +183 -81
  44. data/lib/super_diff/object_inspection/inspection_tree_builders.rb +44 -0
  45. data/lib/super_diff/object_inspection/inspection_tree_builders/array.rb +38 -0
  46. data/lib/super_diff/object_inspection/inspection_tree_builders/base.rb +27 -0
  47. data/lib/super_diff/object_inspection/inspection_tree_builders/custom_object.rb +37 -0
  48. data/lib/super_diff/object_inspection/inspection_tree_builders/default_object.rb +63 -0
  49. data/lib/super_diff/object_inspection/{inspectors → inspection_tree_builders}/defaults.rb +1 -2
  50. data/lib/super_diff/object_inspection/inspection_tree_builders/hash.rb +46 -0
  51. data/lib/super_diff/object_inspection/{inspectors → inspection_tree_builders}/main.rb +5 -10
  52. data/lib/super_diff/object_inspection/inspection_tree_builders/primitive.rb +21 -0
  53. data/lib/super_diff/object_inspection/{inspectors → inspection_tree_builders}/time_like.rb +19 -18
  54. data/lib/super_diff/object_inspection/nodes.rb +33 -32
  55. data/lib/super_diff/object_inspection/nodes/as_lines_when_rendering_to_lines.rb +97 -0
  56. data/lib/super_diff/object_inspection/nodes/as_prefix_when_rendering_to_lines.rb +27 -0
  57. data/lib/super_diff/object_inspection/nodes/as_prelude_when_rendering_to_lines.rb +27 -0
  58. data/lib/super_diff/object_inspection/nodes/as_single_line.rb +33 -0
  59. data/lib/super_diff/object_inspection/nodes/base.rb +55 -20
  60. data/lib/super_diff/object_inspection/nodes/inspection.rb +47 -7
  61. data/lib/super_diff/object_inspection/nodes/nesting.rb +16 -5
  62. data/lib/super_diff/object_inspection/nodes/only_when.rb +54 -0
  63. data/lib/super_diff/object_inspection/nodes/text.rb +16 -2
  64. data/lib/super_diff/object_inspection/nodes/when_empty.rb +21 -6
  65. data/lib/super_diff/object_inspection/nodes/when_non_empty.rb +20 -5
  66. data/lib/super_diff/object_inspection/nodes/when_rendering_to_lines.rb +27 -0
  67. data/lib/super_diff/object_inspection/nodes/when_rendering_to_string.rb +27 -0
  68. data/lib/super_diff/object_inspection/prefix_for_next_node.rb +6 -0
  69. data/lib/super_diff/object_inspection/prelude_for_next_node.rb +6 -0
  70. data/lib/super_diff/operation_tree_builders/array.rb +7 -10
  71. data/lib/super_diff/operation_tree_builders/base.rb +6 -6
  72. data/lib/super_diff/operation_tree_builders/custom_object.rb +5 -2
  73. data/lib/super_diff/operation_tree_builders/default_object.rb +1 -1
  74. data/lib/super_diff/operation_tree_builders/hash.rb +0 -7
  75. data/lib/super_diff/operation_tree_builders/multiline_string.rb +2 -6
  76. data/lib/super_diff/operation_tree_flatteners.rb +20 -0
  77. data/lib/super_diff/operation_tree_flatteners/array.rb +15 -0
  78. data/lib/super_diff/operation_tree_flatteners/base.rb +54 -0
  79. data/lib/super_diff/operation_tree_flatteners/collection.rb +139 -0
  80. data/lib/super_diff/operation_tree_flatteners/custom_object.rb +28 -0
  81. data/lib/super_diff/operation_tree_flatteners/default_object.rb +32 -0
  82. data/lib/super_diff/operation_tree_flatteners/hash.rb +41 -0
  83. data/lib/super_diff/operation_tree_flatteners/multiline_string.rb +17 -0
  84. data/lib/super_diff/operation_trees/array.rb +4 -7
  85. data/lib/super_diff/operation_trees/base.rb +39 -16
  86. data/lib/super_diff/operation_trees/custom_object.rb +4 -8
  87. data/lib/super_diff/operation_trees/default_object.rb +28 -13
  88. data/lib/super_diff/operation_trees/hash.rb +4 -7
  89. data/lib/super_diff/operation_trees/main.rb +1 -1
  90. data/lib/super_diff/operation_trees/multiline_string.rb +4 -7
  91. data/lib/super_diff/operations/binary_operation.rb +1 -6
  92. data/lib/super_diff/operations/unary_operation.rb +2 -30
  93. data/lib/super_diff/recursion_guard.rb +3 -3
  94. data/lib/super_diff/rspec.rb +12 -13
  95. data/lib/super_diff/rspec/monkey_patches.rb +2 -2
  96. data/lib/super_diff/rspec/object_inspection.rb +4 -1
  97. data/lib/super_diff/rspec/object_inspection/inspection_tree_builders.rb +44 -0
  98. data/lib/super_diff/rspec/object_inspection/{inspectors → inspection_tree_builders}/collection_containing_exactly.rb +9 -8
  99. data/lib/super_diff/rspec/object_inspection/{inspectors → inspection_tree_builders}/collection_including.rb +9 -8
  100. data/lib/super_diff/rspec/object_inspection/inspection_tree_builders/double.rb +103 -0
  101. data/lib/super_diff/rspec/object_inspection/inspection_tree_builders/hash_including.rb +36 -0
  102. data/lib/super_diff/rspec/object_inspection/{inspectors → inspection_tree_builders}/instance_of.rb +3 -5
  103. data/lib/super_diff/rspec/object_inspection/{inspectors → inspection_tree_builders}/kind_of.rb +3 -5
  104. data/lib/super_diff/rspec/object_inspection/{inspectors → inspection_tree_builders}/object_having_attributes.rb +10 -12
  105. data/lib/super_diff/rspec/object_inspection/inspection_tree_builders/primitive.rb +10 -0
  106. data/lib/super_diff/rspec/object_inspection/inspection_tree_builders/value_within.rb +33 -0
  107. data/lib/super_diff/rspec/operation_tree_builders/collection_containing_exactly.rb +0 -3
  108. data/lib/super_diff/tiered_lines.rb +4 -0
  109. data/lib/super_diff/tiered_lines_elider.rb +490 -0
  110. data/lib/super_diff/tiered_lines_formatter.rb +79 -0
  111. data/lib/super_diff/version.rb +1 -1
  112. data/spec/examples.txt +407 -410
  113. data/spec/integration/rails/active_support_spec.rb +19 -0
  114. data/spec/integration/rspec/contain_exactly_matcher_spec.rb +12 -6
  115. data/spec/integration/rspec/eq_matcher_spec.rb +22 -88
  116. data/spec/integration/rspec/have_attributes_matcher_spec.rb +6 -7
  117. data/spec/integration/rspec/match_array_matcher_spec.rb +14 -7
  118. data/spec/integration/rspec/match_matcher_spec.rb +10 -5
  119. data/spec/spec_helper.rb +1 -0
  120. data/spec/support/command_runner.rb +15 -25
  121. data/spec/support/helpers.rb +21 -0
  122. data/spec/support/integration/helpers.rb +2 -0
  123. data/spec/support/integration/matchers/produce_output_when_run_matcher.rb +3 -3
  124. data/spec/support/integration/test_programs/base.rb +36 -10
  125. data/spec/support/shared_examples/active_record.rb +3 -2
  126. data/spec/support/shared_examples/active_support.rb +65 -0
  127. data/spec/support/shared_examples/elided_diffs.rb +914 -0
  128. data/spec/support/shared_examples/hash_with_indifferent_access.rb +16 -16
  129. data/spec/support/unit/helpers.rb +15 -0
  130. data/spec/support/unit/matchers/match_output.rb +41 -0
  131. data/spec/unit/active_record/object_inspection_spec.rb +273 -0
  132. data/spec/unit/equality_matchers/main_spec.rb +51 -71
  133. data/spec/unit/helpers_spec.rb +61 -0
  134. data/spec/unit/operation_tree_flatteners/array_spec.rb +604 -0
  135. data/spec/unit/operation_tree_flatteners/custom_object_spec.rb +667 -0
  136. data/spec/unit/operation_tree_flatteners/default_object_spec.rb +687 -0
  137. data/spec/unit/operation_tree_flatteners/hash_spec.rb +632 -0
  138. data/spec/unit/operation_tree_flatteners/multiline_string_spec.rb +121 -0
  139. data/spec/unit/rspec/object_inspection_spec.rb +446 -0
  140. data/spec/unit/super_diff_spec.rb +1488 -846
  141. data/spec/unit/tiered_lines_elider_spec.rb +6356 -0
  142. data/spec/unit/tiered_lines_formatter_spec.rb +193 -0
  143. metadata +88 -50
  144. data/lib/super_diff/active_record/diff_formatters.rb +0 -10
  145. data/lib/super_diff/active_record/diff_formatters/active_record_relation.rb +0 -23
  146. data/lib/super_diff/active_record/object_inspection/inspectors.rb +0 -16
  147. data/lib/super_diff/active_support/diff_formatters.rb +0 -10
  148. data/lib/super_diff/active_support/diff_formatters/hash_with_indifferent_access.rb +0 -36
  149. data/lib/super_diff/active_support/object_inspection/inspectors/hash_with_indifferent_access.rb +0 -28
  150. data/lib/super_diff/diff_formatters.rb +0 -14
  151. data/lib/super_diff/diff_formatters/array.rb +0 -21
  152. data/lib/super_diff/diff_formatters/base.rb +0 -33
  153. data/lib/super_diff/diff_formatters/custom_object.rb +0 -30
  154. data/lib/super_diff/diff_formatters/default_object.rb +0 -46
  155. data/lib/super_diff/diff_formatters/defaults.rb +0 -10
  156. data/lib/super_diff/diff_formatters/hash.rb +0 -34
  157. data/lib/super_diff/diff_formatters/main.rb +0 -41
  158. data/lib/super_diff/object_inspection/inspectors.rb +0 -23
  159. data/lib/super_diff/object_inspection/inspectors/array.rb +0 -32
  160. data/lib/super_diff/object_inspection/inspectors/base.rb +0 -36
  161. data/lib/super_diff/object_inspection/inspectors/custom_object.rb +0 -37
  162. data/lib/super_diff/object_inspection/inspectors/default_object.rb +0 -61
  163. data/lib/super_diff/object_inspection/inspectors/hash.rb +0 -32
  164. data/lib/super_diff/object_inspection/inspectors/primitive.rb +0 -28
  165. data/lib/super_diff/object_inspection/inspectors/string.rb +0 -23
  166. data/lib/super_diff/object_inspection/nodes/break.rb +0 -15
  167. data/lib/super_diff/object_inspection/nodes/when_multiline.rb +0 -22
  168. data/lib/super_diff/object_inspection/nodes/when_singleline.rb +0 -24
  169. data/lib/super_diff/rspec/object_inspection/inspectors.rb +0 -40
  170. data/lib/super_diff/rspec/object_inspection/inspectors/hash_including.rb +0 -36
  171. data/lib/super_diff/rspec/object_inspection/inspectors/primitive.rb +0 -13
  172. data/lib/super_diff/rspec/object_inspection/inspectors/value_within.rb +0 -29
  173. data/spec/support/object_id.rb +0 -27
  174. data/spec/support/ruby_versions.rb +0 -11
@@ -2,6 +2,17 @@ module SuperDiff
2
2
  module ActiveSupport
3
3
  module OperationTreeBuilders
4
4
  class HashWithIndifferentAccess < SuperDiff::OperationTreeBuilders::Hash
5
+ def self.applies_to?(expected, actual)
6
+ (
7
+ expected.is_a?(::HashWithIndifferentAccess) &&
8
+ actual.is_a?(::Hash)
9
+ ) ||
10
+ (
11
+ expected.is_a?(::Hash) &&
12
+ actual.is_a?(::HashWithIndifferentAccess)
13
+ )
14
+ end
15
+
5
16
  def initialize(expected:, actual:, **rest)
6
17
  super
7
18
 
@@ -15,6 +26,12 @@ module SuperDiff
15
26
  @actual = actual.to_h
16
27
  end
17
28
  end
29
+
30
+ protected
31
+
32
+ def build_operation_tree
33
+ OperationTrees::HashWithIndifferentAccess.new([])
34
+ end
18
35
  end
19
36
  end
20
37
  end
@@ -0,0 +1,10 @@
1
+ module SuperDiff
2
+ module ActiveSupport
3
+ module OperationTreeFlatteners
4
+ autoload(
5
+ :HashWithIndifferentAccess,
6
+ "super_diff/active_support/operation_tree_flatteners/hash_with_indifferent_access",
7
+ )
8
+ end
9
+ end
10
+ end
@@ -0,0 +1,17 @@
1
+ module SuperDiff
2
+ module ActiveSupport
3
+ module OperationTreeFlatteners
4
+ class HashWithIndifferentAccess < SuperDiff::OperationTreeFlatteners::Hash
5
+ protected
6
+
7
+ def open_token
8
+ "#<HashWithIndifferentAccess {"
9
+ end
10
+
11
+ def close_token
12
+ "}>"
13
+ end
14
+ end
15
+ end
16
+ end
17
+ end
@@ -2,13 +2,10 @@ module SuperDiff
2
2
  module ActiveSupport
3
3
  module OperationTrees
4
4
  class HashWithIndifferentAccess < SuperDiff::OperationTrees::Base
5
- def to_diff(indent_level:, collection_prefix:, add_comma:)
6
- DiffFormatters::HashWithIndifferentAccess.call(
7
- self,
8
- indent_level: indent_level,
9
- collection_prefix: collection_prefix,
10
- add_comma: add_comma,
11
- )
5
+ protected
6
+
7
+ def operation_tree_flattener_class
8
+ OperationTreeFlatteners::HashWithIndifferentAccess
12
9
  end
13
10
  end
14
11
  end
@@ -6,12 +6,15 @@ module SuperDiff
6
6
  end
7
7
  end
8
8
 
9
- def expected(*args, **opts, &block)
10
- colorize(*args, **opts, fg: SuperDiff.configuration.expected_color, &block)
11
- end
12
-
13
- def actual(*args, **opts, &block)
14
- colorize(*args, **opts, fg: SuperDiff.configuration.actual_color, &block)
9
+ [:actual, :border, :elision_marker, :expected, :header].each do |method_name|
10
+ define_method(method_name) do |*args, **opts, &block|
11
+ colorize(
12
+ *args,
13
+ **opts,
14
+ fg: SuperDiff.configuration.public_send("#{method_name}_color"),
15
+ &block
16
+ )
17
+ end
15
18
  end
16
19
  end
17
20
  end
@@ -3,27 +3,74 @@ module SuperDiff
3
3
  attr_reader(
4
4
  :extra_diff_formatter_classes,
5
5
  :extra_differ_classes,
6
- :extra_inspector_classes,
6
+ :extra_inspection_tree_builder_classes,
7
7
  :extra_operation_tree_builder_classes,
8
8
  :extra_operation_tree_classes,
9
9
  )
10
10
  attr_accessor(
11
11
  :actual_color,
12
12
  :border_color,
13
+ :diff_elision_enabled,
14
+ :diff_elision_maximum,
15
+ :elision_marker_color,
13
16
  :expected_color,
14
17
  :header_color,
15
18
  )
16
19
 
17
- def initialize
20
+ def initialize(options = {})
18
21
  @actual_color = :yellow
19
22
  @border_color = :blue
23
+ @color_enabled = color_enabled_by_default?
24
+ @diff_elision_enabled = false
25
+ @diff_elision_maximum = 0
26
+ @elision_marker_color = :cyan
20
27
  @expected_color = :magenta
21
28
  @extra_diff_formatter_classes = [].freeze
22
29
  @extra_differ_classes = [].freeze
23
- @extra_inspector_classes = [].freeze
30
+ @extra_inspection_tree_builder_classes = [].freeze
24
31
  @extra_operation_tree_builder_classes = [].freeze
25
32
  @extra_operation_tree_classes = [].freeze
26
33
  @header_color = :white
34
+
35
+ merge!(options)
36
+ end
37
+
38
+ def initialize_dup(original)
39
+ super
40
+ @extra_differ_classes = original.extra_differ_classes.dup.freeze
41
+ @extra_operation_tree_builder_classes =
42
+ original.extra_operation_tree_builder_classes.dup.freeze
43
+ @extra_operation_tree_classes =
44
+ original.extra_operation_tree_classes.dup.freeze
45
+ @extra_inspection_tree_builder_classes =
46
+ original.extra_inspection_tree_builder_classes.dup.freeze
47
+ end
48
+
49
+ def color_enabled?
50
+ @color_enabled
51
+ end
52
+
53
+ def diff_elision_enabled?
54
+ @diff_elision_enabled
55
+ end
56
+
57
+ def merge!(configuration_or_options)
58
+ options =
59
+ if configuration_or_options.is_a?(self.class)
60
+ configuration_or_options.to_h
61
+ else
62
+ configuration_or_options
63
+ end
64
+
65
+ options.each do |key, value|
66
+ instance_variable_set("@#{key}", value)
67
+ end
68
+
69
+ updated
70
+ end
71
+
72
+ def updated
73
+ SuperDiff::Csi.color_enabled = color_enabled?
27
74
  end
28
75
 
29
76
  def add_extra_diff_formatter_classes(*classes)
@@ -40,13 +87,13 @@ module SuperDiff
40
87
  end
41
88
  alias_method :add_extra_differ_class, :add_extra_differ_classes
42
89
 
43
- def add_extra_inspector_classes(*classes)
44
- @extra_inspector_classes =
45
- (@extra_inspector_classes + classes).freeze
90
+ def add_extra_inspection_tree_builder_classes(*classes)
91
+ @extra_inspection_tree_builder_classes =
92
+ (@extra_inspection_tree_builder_classes + classes).freeze
46
93
  end
47
94
  alias_method(
48
- :add_extra_inspector_class,
49
- :add_extra_inspector_classes,
95
+ :add_extra_inspection_tree_builder_class,
96
+ :add_extra_inspection_tree_builder_classes,
50
97
  )
51
98
 
52
99
  def add_extra_operation_tree_builder_classes(*classes)
@@ -66,5 +113,31 @@ module SuperDiff
66
113
  :add_extra_operation_tree_class,
67
114
  :add_extra_operation_tree_classes,
68
115
  )
116
+
117
+ def to_h
118
+ {
119
+ actual_color: actual_color,
120
+ border_color: border_color,
121
+ color_enabled: color_enabled?,
122
+ diff_elision_enabled: diff_elision_enabled?,
123
+ diff_elision_maximum: diff_elision_maximum,
124
+ elision_marker_color: elision_marker_color,
125
+ expected_color: expected_color,
126
+ extra_diff_formatter_classes: extra_diff_formatter_classes.dup,
127
+ extra_differ_classes: extra_differ_classes.dup,
128
+ extra_inspection_tree_builder_classes:
129
+ extra_inspection_tree_builder_classes.dup,
130
+ extra_operation_tree_builder_classes:
131
+ extra_operation_tree_builder_classes.dup,
132
+ extra_operation_tree_classes: extra_operation_tree_classes.dup,
133
+ header_color: header_color,
134
+ }
135
+ end
136
+
137
+ private
138
+
139
+ def color_enabled_by_default?
140
+ ENV["CI"] == "true" || $stdout.respond_to?(:tty?) && $stdout.tty?
141
+ end
69
142
  end
70
143
  end
@@ -58,7 +58,6 @@ module SuperDiff
58
58
  end
59
59
  end
60
60
 
61
- self.color_enabled = ENV["CI"] == "true" || STDOUT.tty?
62
- # puts "(SuperDiff::Csi) Super::Csi.color_enabled: #{color_enabled?}"
61
+ self.color_enabled = false
63
62
  end
64
63
  end
@@ -87,8 +87,6 @@ module SuperDiff
87
87
  def interpret_sequence!(sequence)
88
88
  match = sequence.match(OPENING_REGEX)
89
89
 
90
- # binding.pry
91
-
92
90
  if match
93
91
  interpret_code!(match[1].to_i)
94
92
  end
@@ -5,7 +5,7 @@ module SuperDiff
5
5
  expected.is_a?(::Array) && actual.is_a?(::Array)
6
6
  end
7
7
 
8
- private
8
+ protected
9
9
 
10
10
  def operation_tree_builder_class
11
11
  OperationTreeBuilders::Array
@@ -9,29 +9,14 @@ module SuperDiff
9
9
  extend AttrExtras.mixin
10
10
  include ImplementationChecks
11
11
 
12
- method_object(
13
- :expected,
14
- :actual,
15
- [
16
- :indent_level!,
17
- index_in_collection: nil,
18
- ],
19
- )
12
+ method_object :expected, :actual, [:indent_level!]
20
13
 
21
14
  def call
22
- operation_tree.to_diff(
23
- indent_level: indent_level,
24
- collection_prefix: nil,
25
- add_comma: false,
26
- )
15
+ operation_tree.to_diff(indentation_level: indent_level)
27
16
  end
28
17
 
29
18
  protected
30
19
 
31
- def indentation
32
- " " * (indent_level * 2)
33
- end
34
-
35
20
  def operation_tree_builder_class
36
21
  unimplemented_instance_method!
37
22
  end
@@ -39,10 +24,7 @@ module SuperDiff
39
24
  private
40
25
 
41
26
  def operation_tree
42
- operation_tree_builder_class.call(
43
- expected: expected,
44
- actual: actual,
45
- )
27
+ operation_tree_builder_class.call(expected: expected, actual: actual)
46
28
  end
47
29
  end
48
30
  end
@@ -7,7 +7,7 @@ module SuperDiff
7
7
  actual.respond_to?(:attributes_for_super_diff)
8
8
  end
9
9
 
10
- private
10
+ protected
11
11
 
12
12
  def operation_tree_builder_class
13
13
  OperationTreeBuilders::CustomObject
@@ -5,7 +5,7 @@ module SuperDiff
5
5
  expected.class == actual.class
6
6
  end
7
7
 
8
- private
8
+ protected
9
9
 
10
10
  def operation_tree
11
11
  OperationTreeBuilders::Main.call(
@@ -5,7 +5,7 @@ module SuperDiff
5
5
  expected.is_a?(::Hash) && actual.is_a?(::Hash)
6
6
  end
7
7
 
8
- private
8
+ protected
9
9
 
10
10
  def operation_tree_builder_class
11
11
  OperationTreeBuilders::Hash
@@ -8,19 +8,13 @@ module SuperDiff
8
8
  :actual,
9
9
  [
10
10
  indent_level: 0,
11
- index_in_collection: nil,
12
11
  omit_empty: false,
13
12
  ],
14
13
  )
15
14
 
16
15
  def call
17
16
  if resolved_class
18
- resolved_class.call(
19
- expected,
20
- actual,
21
- indent_level: indent_level,
22
- index_in_collection: index_in_collection,
23
- )
17
+ resolved_class.call(expected, actual, indent_level: indent_level)
24
18
  else
25
19
  raise Errors::NoDifferAvailableError.create(expected, actual)
26
20
  end
@@ -6,7 +6,7 @@ module SuperDiff
6
6
  (expected.include?("\n") || actual.include?("\n"))
7
7
  end
8
8
 
9
- private
9
+ protected
10
10
 
11
11
  def operation_tree_builder_class
12
12
  OperationTreeBuilders::MultilineString
@@ -5,7 +5,7 @@ module SuperDiff
5
5
  SuperDiff.time_like?(expected) && SuperDiff.time_like?(actual)
6
6
  end
7
7
 
8
- private
8
+ protected
9
9
 
10
10
  def operation_tree_builder_class
11
11
  OperationTreeBuilders::TimeLike
@@ -13,14 +13,14 @@ module SuperDiff
13
13
  Helpers.style(
14
14
  :expected,
15
15
  "Expected: " +
16
- SuperDiff.inspect_object(expected, as_single_line: true),
16
+ SuperDiff.inspect_object(expected, as_lines: false),
17
17
  )
18
18
  }
19
19
  #{
20
20
  Helpers.style(
21
21
  :actual,
22
22
  " Actual: " +
23
- SuperDiff.inspect_object(actual, as_single_line: true),
23
+ SuperDiff.inspect_object(actual, as_lines: false),
24
24
  )
25
25
  }
26
26
 
@@ -21,7 +21,7 @@ module SuperDiff
21
21
  Helpers.style(
22
22
  :expected,
23
23
  "Expected: " +
24
- SuperDiff.inspect_object(expected, as_single_line: true),
24
+ SuperDiff.inspect_object(expected, as_lines: false),
25
25
  )
26
26
  end
27
27
 
@@ -29,7 +29,7 @@ module SuperDiff
29
29
  Helpers.style(
30
30
  :actual,
31
31
  " Actual: " +
32
- SuperDiff.inspect_object(actual, as_single_line: true),
32
+ SuperDiff.inspect_object(actual, as_lines: false),
33
33
  )
34
34
  end
35
35
 
@@ -13,14 +13,14 @@ module SuperDiff
13
13
  Helpers.style(
14
14
  :expected,
15
15
  "Expected: " +
16
- SuperDiff.inspect_object(expected, as_single_line: true),
16
+ SuperDiff.inspect_object(expected, as_lines: false),
17
17
  )
18
18
  }
19
19
  #{
20
20
  Helpers.style(
21
21
  :actual,
22
22
  " Actual: " +
23
- SuperDiff.inspect_object(actual, as_single_line: true),
23
+ SuperDiff.inspect_object(actual, as_lines: false),
24
24
  )
25
25
  }
26
26
 
@@ -14,14 +14,14 @@ module SuperDiff
14
14
  Helpers.style(
15
15
  :expected,
16
16
  "Expected: " +
17
- SuperDiff.inspect_object(expected, as_single_line: true),
17
+ SuperDiff.inspect_object(expected, as_lines: false),
18
18
  )
19
19
  }
20
20
  #{
21
21
  Helpers.style(
22
22
  :actual,
23
23
  " Actual: " +
24
- SuperDiff.inspect_object(actual, as_single_line: true),
24
+ SuperDiff.inspect_object(actual, as_lines: false),
25
25
  )
26
26
  }
27
27