json-merge 7.1.6 → 7.1.7
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.
- checksums.yaml +4 -4
- checksums.yaml.gz.sig +0 -0
- data/lib/json/merge/conflict_resolver.rb +11 -13
- data/lib/json/merge/version.rb +1 -1
- data.tar.gz.sig +0 -0
- metadata +8 -8
- metadata.gz.sig +0 -0
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: cfec64cce61554a44c1b1aad9493f582f3480d0234b750b7181fe3abde10b038
|
|
4
|
+
data.tar.gz: ce6035cd086c2b89c02299818e3b608d1581e23d4945d798202a228717d27dd6
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 1954aab0c8c2a8bcdc83613e594a1ead63343cbb1cb0f1c3b99c53ba9b387582545d0e1a5bb7afef27048d66a18e9fd52e5622339f2556941127b4842c525458
|
|
7
|
+
data.tar.gz: 6011cfacce9dd817811928eba2e0c3ae5d77a00a54b9c0f2eaebd77548abefa2f930f385ba165ff2bc4b83a6577df7503559a2631e09b98bf43fa3616d739fde
|
checksums.yaml.gz.sig
CHANGED
|
Binary file
|
|
@@ -105,7 +105,7 @@ module Json
|
|
|
105
105
|
# @param dest_nodes [Array<NodeWrapper>] Destination nodes
|
|
106
106
|
# @param template_analysis [FileAnalysis] Template analysis for line access
|
|
107
107
|
# @param dest_analysis [FileAnalysis] Destination analysis for line access
|
|
108
|
-
def merge_node_lists_to_emitter(template_nodes, dest_nodes, template_analysis, dest_analysis
|
|
108
|
+
def merge_node_lists_to_emitter(template_nodes, dest_nodes, template_analysis, dest_analysis)
|
|
109
109
|
# Build signature maps for matching
|
|
110
110
|
template_by_sig = build_signature_map(template_nodes, template_analysis)
|
|
111
111
|
dest_by_sig = build_signature_map(dest_nodes, dest_analysis)
|
|
@@ -154,6 +154,8 @@ module Json
|
|
|
154
154
|
|
|
155
155
|
# Check for signature match
|
|
156
156
|
if dest_sig && template_by_sig[dest_sig]
|
|
157
|
+
emit_retained_gap_before_destination_node(dest_node, dest_analysis, owners: dest_nodes)
|
|
158
|
+
|
|
157
159
|
# Find the next unconsumed template node with this signature
|
|
158
160
|
candidates = template_by_sig[dest_sig]
|
|
159
161
|
cursor = sig_cursor[dest_sig]
|
|
@@ -172,8 +174,7 @@ module Json
|
|
|
172
174
|
template_node = template_info[:node]
|
|
173
175
|
|
|
174
176
|
# Both have this node - merge them (recursively if containers)
|
|
175
|
-
merge_matched_nodes_to_emitter(template_node, dest_node, template_analysis, dest_analysis
|
|
176
|
-
dest_owners: dest_nodes)
|
|
177
|
+
merge_matched_nodes_to_emitter(template_node, dest_node, template_analysis, dest_analysis)
|
|
177
178
|
|
|
178
179
|
consumed_template_indices << template_info[:index]
|
|
179
180
|
sig_cursor[dest_sig] = cursor + 1
|
|
@@ -182,6 +183,8 @@ module Json
|
|
|
182
183
|
emit_atomic_node(dest_node, dest_analysis)
|
|
183
184
|
end
|
|
184
185
|
elsif refined_dest_to_template.key?(dest_node)
|
|
186
|
+
emit_retained_gap_before_destination_node(dest_node, dest_analysis, owners: dest_nodes)
|
|
187
|
+
|
|
185
188
|
# Found refined match
|
|
186
189
|
template_node = refined_dest_to_template[dest_node]
|
|
187
190
|
template_sig = template_analysis.generate_signature(template_node)
|
|
@@ -197,12 +200,12 @@ module Json
|
|
|
197
200
|
end
|
|
198
201
|
|
|
199
202
|
# Merge matched nodes
|
|
200
|
-
merge_matched_nodes_to_emitter(template_node, dest_node, template_analysis, dest_analysis
|
|
201
|
-
dest_owners: dest_nodes)
|
|
203
|
+
merge_matched_nodes_to_emitter(template_node, dest_node, template_analysis, dest_analysis)
|
|
202
204
|
elsif @remove_template_missing_nodes
|
|
203
205
|
emit_removed_destination_node_comments(dest_node, dest_analysis)
|
|
204
206
|
else
|
|
205
207
|
# Destination-only node - always keep
|
|
208
|
+
emit_retained_gap_before_destination_node(dest_node, dest_analysis, owners: dest_nodes)
|
|
206
209
|
emit_atomic_node(dest_node, dest_analysis)
|
|
207
210
|
end
|
|
208
211
|
|
|
@@ -239,11 +242,7 @@ module Json
|
|
|
239
242
|
# @param dest_node [NodeWrapper] Destination node
|
|
240
243
|
# @param template_analysis [FileAnalysis] Template analysis
|
|
241
244
|
# @param dest_analysis [FileAnalysis] Destination analysis
|
|
242
|
-
def merge_matched_nodes_to_emitter(template_node, dest_node, template_analysis, dest_analysis
|
|
243
|
-
if preference_for_pair(template_node, dest_node) == :template
|
|
244
|
-
emit_retained_gap_before_matched_template_node(dest_node, dest_analysis, owners: dest_owners)
|
|
245
|
-
end
|
|
246
|
-
|
|
245
|
+
def merge_matched_nodes_to_emitter(template_node, dest_node, template_analysis, dest_analysis)
|
|
247
246
|
if dest_node.container? && template_node.container?
|
|
248
247
|
# Both are containers - recursively merge their children
|
|
249
248
|
merge_container_to_emitter(template_node, dest_node, template_analysis, dest_analysis)
|
|
@@ -305,8 +304,7 @@ module Json
|
|
|
305
304
|
template_value.mergeable_children,
|
|
306
305
|
dest_value.mergeable_children,
|
|
307
306
|
template_analysis,
|
|
308
|
-
dest_analysis
|
|
309
|
-
dest_owners: dest_value.mergeable_children
|
|
307
|
+
dest_analysis
|
|
310
308
|
)
|
|
311
309
|
|
|
312
310
|
emit_container_trailing_lines(trailing_source_node, trailing_source_analysis)
|
|
@@ -363,7 +361,7 @@ module Json
|
|
|
363
361
|
end
|
|
364
362
|
end
|
|
365
363
|
|
|
366
|
-
def
|
|
364
|
+
def emit_retained_gap_before_destination_node(dest_node, dest_analysis, owners: nil)
|
|
367
365
|
gap_lines = retained_owner_leading_gap_lines_for(dest_node, dest_analysis, owners: owners)
|
|
368
366
|
return if gap_lines.empty?
|
|
369
367
|
return if @emitter.blank_lines?(gap_lines) && @emitter.ends_with_blank_line?
|
data/lib/json/merge/version.rb
CHANGED
|
@@ -5,7 +5,7 @@ module Json
|
|
|
5
5
|
# Version namespace for this gem.
|
|
6
6
|
module Version
|
|
7
7
|
# Current gem version.
|
|
8
|
-
VERSION = '7.1.
|
|
8
|
+
VERSION = '7.1.7'
|
|
9
9
|
end
|
|
10
10
|
# Current gem version exposed at the traditional constant location.
|
|
11
11
|
VERSION = Version::VERSION # Traditional Constant Location
|
data.tar.gz.sig
CHANGED
|
Binary file
|
metadata
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: json-merge
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 7.1.
|
|
4
|
+
version: 7.1.7
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Peter H. Boling
|
|
@@ -43,28 +43,28 @@ dependencies:
|
|
|
43
43
|
requirements:
|
|
44
44
|
- - '='
|
|
45
45
|
- !ruby/object:Gem::Version
|
|
46
|
-
version: 7.1.
|
|
46
|
+
version: 7.1.7
|
|
47
47
|
type: :runtime
|
|
48
48
|
prerelease: false
|
|
49
49
|
version_requirements: !ruby/object:Gem::Requirement
|
|
50
50
|
requirements:
|
|
51
51
|
- - '='
|
|
52
52
|
- !ruby/object:Gem::Version
|
|
53
|
-
version: 7.1.
|
|
53
|
+
version: 7.1.7
|
|
54
54
|
- !ruby/object:Gem::Dependency
|
|
55
55
|
name: tree_haver
|
|
56
56
|
requirement: !ruby/object:Gem::Requirement
|
|
57
57
|
requirements:
|
|
58
58
|
- - '='
|
|
59
59
|
- !ruby/object:Gem::Version
|
|
60
|
-
version: 7.1.
|
|
60
|
+
version: 7.1.7
|
|
61
61
|
type: :runtime
|
|
62
62
|
prerelease: false
|
|
63
63
|
version_requirements: !ruby/object:Gem::Requirement
|
|
64
64
|
requirements:
|
|
65
65
|
- - '='
|
|
66
66
|
- !ruby/object:Gem::Version
|
|
67
|
-
version: 7.1.
|
|
67
|
+
version: 7.1.7
|
|
68
68
|
- !ruby/object:Gem::Dependency
|
|
69
69
|
name: version_gem
|
|
70
70
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -320,10 +320,10 @@ licenses:
|
|
|
320
320
|
- PolyForm-Small-Business-1.0.0
|
|
321
321
|
metadata:
|
|
322
322
|
homepage_uri: https://structuredmerge.org
|
|
323
|
-
source_code_uri: https://github.com/structuredmerge/structuredmerge-ruby/tree/v7.1.
|
|
324
|
-
changelog_uri: https://github.com/structuredmerge/structuredmerge-ruby/blob/v7.1.
|
|
323
|
+
source_code_uri: https://github.com/structuredmerge/structuredmerge-ruby/tree/v7.1.7
|
|
324
|
+
changelog_uri: https://github.com/structuredmerge/structuredmerge-ruby/blob/v7.1.7/CHANGELOG.md
|
|
325
325
|
bug_tracker_uri: https://github.com/structuredmerge/structuredmerge-ruby/issues
|
|
326
|
-
documentation_uri: https://www.rubydoc.info/gems/json-merge/7.1.
|
|
326
|
+
documentation_uri: https://www.rubydoc.info/gems/json-merge/7.1.7
|
|
327
327
|
funding_uri: https://github.com/sponsors/pboling
|
|
328
328
|
wiki_uri: https://github.com/structuredmerge/structuredmerge-ruby/wiki
|
|
329
329
|
news_uri: https://www.railsbling.com/tags/json-merge
|
metadata.gz.sig
CHANGED
|
Binary file
|