psych-merge 1.0.0 → 7.0.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.
- checksums.yaml +4 -4
- checksums.yaml.gz.sig +1 -1
- data/lib/psych/merge/version.rb +3 -4
- data/lib/psych/merge.rb +81 -109
- data/lib/psych-merge.rb +1 -4
- data.tar.gz.sig +1 -1
- metadata +23 -283
- metadata.gz.sig +0 -0
- data/CHANGELOG.md +0 -104
- data/CITATION.cff +0 -20
- data/CODE_OF_CONDUCT.md +0 -134
- data/CONTRIBUTING.md +0 -227
- data/FUNDING.md +0 -74
- data/LICENSE.txt +0 -21
- data/README.md +0 -879
- data/REEK +0 -0
- data/RUBOCOP.md +0 -71
- data/SECURITY.md +0 -21
- data/lib/psych/merge/comment_tracker.rb +0 -155
- data/lib/psych/merge/conflict_resolver.rb +0 -509
- data/lib/psych/merge/debug_logger.rb +0 -45
- data/lib/psych/merge/diff_mapper.rb +0 -255
- data/lib/psych/merge/emitter.rb +0 -182
- data/lib/psych/merge/file_analysis.rb +0 -361
- data/lib/psych/merge/freeze_node.rb +0 -97
- data/lib/psych/merge/mapping_match_refiner.rb +0 -259
- data/lib/psych/merge/merge_result.rb +0 -154
- data/lib/psych/merge/node_wrapper.rb +0 -264
- data/lib/psych/merge/partial_template_merger.rb +0 -342
- data/lib/psych/merge/smart_merger.rb +0 -224
- data/sig/psych/merge.rbs +0 -231
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: da88ef0bcd6745d4a3f9474f262b66507286d7688ad4a558860c3d2d53b019a4
|
|
4
|
+
data.tar.gz: ff24332a09a87a1bcf32ac34598a43d1b349cd4489908a2c55588edab4ff5020
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: abe7ac7e4da78dd7653871a0b785b3df24e65a9a524b9e0a849d8130bf6d52b4ab75f8d7f0302b423945d0f02e06e6adadb6781e70e8c4f1028e401e106161fe
|
|
7
|
+
data.tar.gz: dce8552b554642c454f175c06cd296c0b51f3b9b32b6ff4a159ebc55783191015f87967ef0e5b8ca527738523f8b8bae1117db4f48e36727f71a83642123d5ae
|
checksums.yaml.gz.sig
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
�s�9�:�{�X7/��pM����(��L?&F����U�A�H?��^e\w��ʲ����K8��)�Nڻ�����\v��%���^ٓU��J���S8�g��~�o,ٿM���Ĺ=>>dO�F�����H�d]����h�O3��'�$û�孭��s�ܸ5���a�B.�,h����E�ݱ���0ח��:݆�3jI���XS�/��_Ӗ�̟az<��4w�P&&�����^�ߊ�]�0��(�<*������w`�f��G����V���߁V!?yc d��S�w�^�e% N�$�Kf]��U��?)~gKF ��{2�f��|\��YRrx�ߩI�Us�yS��{��qv*ͶZcr��3�
|
data/lib/psych/merge/version.rb
CHANGED
|
@@ -2,11 +2,10 @@
|
|
|
2
2
|
|
|
3
3
|
module Psych
|
|
4
4
|
module Merge
|
|
5
|
-
# Version information for Psych::Merge
|
|
6
5
|
module Version
|
|
7
|
-
|
|
8
|
-
VERSION = "1.0.0"
|
|
6
|
+
VERSION = "7.0.0"
|
|
9
7
|
end
|
|
10
|
-
|
|
8
|
+
|
|
9
|
+
VERSION = Version::VERSION
|
|
11
10
|
end
|
|
12
11
|
end
|
data/lib/psych/merge.rb
CHANGED
|
@@ -1,119 +1,91 @@
|
|
|
1
1
|
# frozen_string_literal: true
|
|
2
2
|
|
|
3
|
-
|
|
4
|
-
require "
|
|
5
|
-
require "
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
# Shared merge infrastructure
|
|
9
|
-
require "ast/merge"
|
|
10
|
-
|
|
11
|
-
# This gem
|
|
12
|
-
require_relative "merge/version"
|
|
13
|
-
|
|
14
|
-
# Psych::Merge provides a generic YAML file smart merge system using Psych AST analysis.
|
|
15
|
-
# It intelligently merges template and destination YAML files by identifying matching
|
|
16
|
-
# keys and resolving differences using structural signatures.
|
|
17
|
-
#
|
|
18
|
-
# @example Basic usage
|
|
19
|
-
# template = File.read("template.yml")
|
|
20
|
-
# destination = File.read("destination.yml")
|
|
21
|
-
# merger = Psych::Merge::SmartMerger.new(template, destination)
|
|
22
|
-
# result = merger.merge
|
|
23
|
-
#
|
|
24
|
-
# @example With debug information
|
|
25
|
-
# merger = Psych::Merge::SmartMerger.new(template, destination)
|
|
26
|
-
# debug_result = merger.merge_with_debug
|
|
27
|
-
# puts debug_result[:content]
|
|
28
|
-
# puts debug_result[:statistics]
|
|
3
|
+
require "yaml"
|
|
4
|
+
require "tree_haver"
|
|
5
|
+
require "yaml/merge"
|
|
6
|
+
|
|
29
7
|
module Psych
|
|
30
|
-
# Smart merge system for YAML files using Psych AST analysis.
|
|
31
|
-
# Provides intelligent merging by understanding YAML structure
|
|
32
|
-
# rather than treating files as plain text.
|
|
33
|
-
#
|
|
34
|
-
# @see SmartMerger Main entry point for merge operations
|
|
35
|
-
# @see FileAnalysis Analyzes YAML structure
|
|
36
|
-
# @see ConflictResolver Resolves content conflicts
|
|
37
8
|
module Merge
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
9
|
+
PACKAGE_NAME = "psych-merge"
|
|
10
|
+
BACKEND_REFERENCE = TreeHaver::BackendReference.new(id: "psych", family: "native").freeze
|
|
11
|
+
TreeHaver::BackendRegistry.register(BACKEND_REFERENCE)
|
|
12
|
+
|
|
13
|
+
module_function
|
|
14
|
+
|
|
15
|
+
def yaml_feature_profile
|
|
16
|
+
Yaml::Merge.yaml_feature_profile
|
|
17
|
+
end
|
|
18
|
+
|
|
19
|
+
def available_yaml_backends
|
|
20
|
+
[BACKEND_REFERENCE]
|
|
21
|
+
end
|
|
22
|
+
|
|
23
|
+
def yaml_backend_feature_profile(backend: nil)
|
|
24
|
+
requested = backend.to_s.empty? ? BACKEND_REFERENCE.id : backend.to_s
|
|
25
|
+
return unsupported_feature_result("Unsupported YAML backend #{requested}.") unless requested == BACKEND_REFERENCE.id
|
|
26
|
+
|
|
27
|
+
yaml_feature_profile.merge(
|
|
28
|
+
backend: BACKEND_REFERENCE.id,
|
|
29
|
+
backend_ref: BACKEND_REFERENCE.to_h
|
|
30
|
+
)
|
|
31
|
+
end
|
|
32
|
+
|
|
33
|
+
def yaml_plan_context(backend: nil)
|
|
34
|
+
profile = yaml_backend_feature_profile(backend: backend)
|
|
35
|
+
return profile if profile[:ok] == false
|
|
36
|
+
|
|
37
|
+
{
|
|
38
|
+
family_profile: yaml_feature_profile,
|
|
39
|
+
feature_profile: {
|
|
40
|
+
backend: profile[:backend],
|
|
41
|
+
supports_dialects: true,
|
|
42
|
+
supported_policies: profile[:supported_policies]
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
end
|
|
46
|
+
|
|
47
|
+
def parse_yaml(source, dialect, backend: nil)
|
|
48
|
+
requested = backend.to_s.empty? ? BACKEND_REFERENCE.id : backend.to_s
|
|
49
|
+
return unsupported_feature_parse_result("Unsupported YAML backend #{requested}.") unless requested == BACKEND_REFERENCE.id
|
|
50
|
+
return unsupported_feature_parse_result("Unsupported YAML dialect #{dialect}.") unless dialect == "yaml"
|
|
51
|
+
|
|
52
|
+
parsed = YAML.safe_load(source, permitted_classes: [], aliases: false)
|
|
53
|
+
Yaml::Merge.analyze_yaml_document(parsed, dialect)
|
|
54
|
+
rescue StandardError => e
|
|
55
|
+
parse_error_result(e.message)
|
|
56
|
+
end
|
|
57
|
+
|
|
58
|
+
def match_yaml_owners(template, destination)
|
|
59
|
+
Yaml::Merge.match_yaml_owners(template, destination)
|
|
60
|
+
end
|
|
61
|
+
|
|
62
|
+
def merge_yaml(template_source, destination_source, dialect, backend: nil)
|
|
63
|
+
requested = backend.to_s.empty? ? BACKEND_REFERENCE.id : backend.to_s
|
|
64
|
+
return unsupported_feature_merge_result("Unsupported YAML backend #{requested}.") unless requested == BACKEND_REFERENCE.id
|
|
65
|
+
|
|
66
|
+
Yaml::Merge.merge_yaml_with_parser(template_source, destination_source, dialect) do |source, parse_dialect|
|
|
67
|
+
parse_yaml(source, parse_dialect, backend: requested)
|
|
58
68
|
end
|
|
59
69
|
end
|
|
60
70
|
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
# merger = SmartMerger.new(template, destination)
|
|
66
|
-
# result = merger.merge
|
|
67
|
-
# rescue TemplateParseError => e
|
|
68
|
-
# puts "Template syntax error: #{e.message}"
|
|
69
|
-
# e.errors.each do |error|
|
|
70
|
-
# puts " #{error.message}"
|
|
71
|
-
# end
|
|
72
|
-
# end
|
|
73
|
-
class TemplateParseError < ParseError; end
|
|
74
|
-
|
|
75
|
-
# Raised when the destination file has syntax errors.
|
|
76
|
-
#
|
|
77
|
-
# @example Handling destination parse errors
|
|
78
|
-
# begin
|
|
79
|
-
# merger = SmartMerger.new(template, destination)
|
|
80
|
-
# result = merger.merge
|
|
81
|
-
# rescue DestinationParseError => e
|
|
82
|
-
# puts "Destination syntax error: #{e.message}"
|
|
83
|
-
# e.errors.each do |error|
|
|
84
|
-
# puts " #{error.message}"
|
|
85
|
-
# end
|
|
86
|
-
# end
|
|
87
|
-
class DestinationParseError < ParseError; end
|
|
88
|
-
|
|
89
|
-
autoload :CommentTracker, "psych/merge/comment_tracker"
|
|
90
|
-
autoload :DebugLogger, "psych/merge/debug_logger"
|
|
91
|
-
autoload :DiffMapper, "psych/merge/diff_mapper"
|
|
92
|
-
autoload :Emitter, "psych/merge/emitter"
|
|
93
|
-
autoload :FreezeNode, "psych/merge/freeze_node"
|
|
94
|
-
autoload :FileAnalysis, "psych/merge/file_analysis"
|
|
95
|
-
autoload :MappingEntry, "psych/merge/file_analysis"
|
|
96
|
-
autoload :MergeResult, "psych/merge/merge_result"
|
|
97
|
-
autoload :NodeWrapper, "psych/merge/node_wrapper"
|
|
98
|
-
autoload :ConflictResolver, "psych/merge/conflict_resolver"
|
|
99
|
-
autoload :PartialTemplateMerger, "psych/merge/partial_template_merger"
|
|
100
|
-
autoload :SmartMerger, "psych/merge/smart_merger"
|
|
101
|
-
autoload :MappingMatchRefiner, "psych/merge/mapping_match_refiner"
|
|
102
|
-
end
|
|
103
|
-
end
|
|
71
|
+
def parse_error_result(message)
|
|
72
|
+
{ ok: false, diagnostics: [{ severity: "error", category: "parse_error", message: message }], policies: [] }
|
|
73
|
+
end
|
|
74
|
+
private_class_method :parse_error_result
|
|
104
75
|
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
:psych_merge,
|
|
110
|
-
require_path: "psych/merge",
|
|
111
|
-
merger_class: "Psych::Merge::SmartMerger",
|
|
112
|
-
test_source: "key: value",
|
|
113
|
-
category: :config,
|
|
114
|
-
)
|
|
115
|
-
end
|
|
76
|
+
def unsupported_feature_parse_result(message)
|
|
77
|
+
{ ok: false, diagnostics: [{ severity: "error", category: "unsupported_feature", message: message }], policies: [] }
|
|
78
|
+
end
|
|
79
|
+
private_class_method :unsupported_feature_parse_result
|
|
116
80
|
|
|
117
|
-
|
|
118
|
-
|
|
81
|
+
def unsupported_feature_merge_result(message)
|
|
82
|
+
{ ok: false, diagnostics: [{ severity: "error", category: "unsupported_feature", message: message }], policies: [] }
|
|
83
|
+
end
|
|
84
|
+
private_class_method :unsupported_feature_merge_result
|
|
85
|
+
|
|
86
|
+
def unsupported_feature_result(message)
|
|
87
|
+
{ ok: false, diagnostic: { severity: "error", category: "unsupported_feature", message: message } }
|
|
88
|
+
end
|
|
89
|
+
private_class_method :unsupported_feature_result
|
|
90
|
+
end
|
|
119
91
|
end
|
data/lib/psych-merge.rb
CHANGED
|
@@ -1,6 +1,3 @@
|
|
|
1
1
|
# frozen_string_literal: true
|
|
2
2
|
|
|
3
|
-
|
|
4
|
-
# See: https://github.com/fxn/zeitwerk#for_gem_extension
|
|
5
|
-
# Hook for other libraries to load this library (e.g. via bundler)
|
|
6
|
-
require "psych/merge"
|
|
3
|
+
require_relative "psych/merge"
|
data.tar.gz.sig
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
XnK�Dw�4iҺF%��]�ɻ�QLJ�V �2���d♌ƹ�{��a��J-�c�����;��c��M���_��һ�X:b�.�6��C9/�c��=W��n��$�d�r��e�BD�&z�8q;�s��k����C�y��G������ �NJx�8t� �Z�_����J�MDD�e��6�x��� !=b��w~��#]5���r������B̪n�ؕ�s{���Z�0�sY���44�XW#��
|
metadata
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: psych-merge
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version:
|
|
4
|
+
version: 7.0.0
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Peter H. Boling
|
|
8
|
-
bindir:
|
|
8
|
+
bindir: bin
|
|
9
9
|
cert_chain:
|
|
10
10
|
- |
|
|
11
11
|
-----BEGIN CERTIFICATE-----
|
|
@@ -38,318 +38,58 @@ cert_chain:
|
|
|
38
38
|
date: 1980-01-02 00:00:00.000000000 Z
|
|
39
39
|
dependencies:
|
|
40
40
|
- !ruby/object:Gem::Dependency
|
|
41
|
-
name:
|
|
41
|
+
name: yaml-merge
|
|
42
42
|
requirement: !ruby/object:Gem::Requirement
|
|
43
43
|
requirements:
|
|
44
|
-
- -
|
|
44
|
+
- - '='
|
|
45
45
|
- !ruby/object:Gem::Version
|
|
46
|
-
version:
|
|
46
|
+
version: 7.0.0
|
|
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:
|
|
54
|
-
-
|
|
55
|
-
name: tree_haver
|
|
56
|
-
requirement: !ruby/object:Gem::Requirement
|
|
57
|
-
requirements:
|
|
58
|
-
- - "~>"
|
|
59
|
-
- !ruby/object:Gem::Version
|
|
60
|
-
version: '5.0'
|
|
61
|
-
- - ">="
|
|
62
|
-
- !ruby/object:Gem::Version
|
|
63
|
-
version: 5.0.5
|
|
64
|
-
type: :runtime
|
|
65
|
-
prerelease: false
|
|
66
|
-
version_requirements: !ruby/object:Gem::Requirement
|
|
67
|
-
requirements:
|
|
68
|
-
- - "~>"
|
|
69
|
-
- !ruby/object:Gem::Version
|
|
70
|
-
version: '5.0'
|
|
71
|
-
- - ">="
|
|
72
|
-
- !ruby/object:Gem::Version
|
|
73
|
-
version: 5.0.5
|
|
74
|
-
- !ruby/object:Gem::Dependency
|
|
75
|
-
name: ast-merge
|
|
76
|
-
requirement: !ruby/object:Gem::Requirement
|
|
77
|
-
requirements:
|
|
78
|
-
- - "~>"
|
|
79
|
-
- !ruby/object:Gem::Version
|
|
80
|
-
version: '4.0'
|
|
81
|
-
- - ">="
|
|
82
|
-
- !ruby/object:Gem::Version
|
|
83
|
-
version: 4.0.5
|
|
84
|
-
type: :runtime
|
|
85
|
-
prerelease: false
|
|
86
|
-
version_requirements: !ruby/object:Gem::Requirement
|
|
87
|
-
requirements:
|
|
88
|
-
- - "~>"
|
|
89
|
-
- !ruby/object:Gem::Version
|
|
90
|
-
version: '4.0'
|
|
91
|
-
- - ">="
|
|
92
|
-
- !ruby/object:Gem::Version
|
|
93
|
-
version: 4.0.5
|
|
94
|
-
- !ruby/object:Gem::Dependency
|
|
95
|
-
name: version_gem
|
|
96
|
-
requirement: !ruby/object:Gem::Requirement
|
|
97
|
-
requirements:
|
|
98
|
-
- - "~>"
|
|
99
|
-
- !ruby/object:Gem::Version
|
|
100
|
-
version: '1.1'
|
|
101
|
-
- - ">="
|
|
102
|
-
- !ruby/object:Gem::Version
|
|
103
|
-
version: 1.1.9
|
|
104
|
-
type: :runtime
|
|
105
|
-
prerelease: false
|
|
106
|
-
version_requirements: !ruby/object:Gem::Requirement
|
|
107
|
-
requirements:
|
|
108
|
-
- - "~>"
|
|
109
|
-
- !ruby/object:Gem::Version
|
|
110
|
-
version: '1.1'
|
|
111
|
-
- - ">="
|
|
112
|
-
- !ruby/object:Gem::Version
|
|
113
|
-
version: 1.1.9
|
|
114
|
-
- !ruby/object:Gem::Dependency
|
|
115
|
-
name: kettle-dev
|
|
116
|
-
requirement: !ruby/object:Gem::Requirement
|
|
117
|
-
requirements:
|
|
118
|
-
- - "~>"
|
|
119
|
-
- !ruby/object:Gem::Version
|
|
120
|
-
version: '1.1'
|
|
121
|
-
type: :development
|
|
122
|
-
prerelease: false
|
|
123
|
-
version_requirements: !ruby/object:Gem::Requirement
|
|
124
|
-
requirements:
|
|
125
|
-
- - "~>"
|
|
126
|
-
- !ruby/object:Gem::Version
|
|
127
|
-
version: '1.1'
|
|
128
|
-
- !ruby/object:Gem::Dependency
|
|
129
|
-
name: bundler-audit
|
|
130
|
-
requirement: !ruby/object:Gem::Requirement
|
|
131
|
-
requirements:
|
|
132
|
-
- - "~>"
|
|
133
|
-
- !ruby/object:Gem::Version
|
|
134
|
-
version: 0.9.2
|
|
135
|
-
type: :development
|
|
136
|
-
prerelease: false
|
|
137
|
-
version_requirements: !ruby/object:Gem::Requirement
|
|
138
|
-
requirements:
|
|
139
|
-
- - "~>"
|
|
140
|
-
- !ruby/object:Gem::Version
|
|
141
|
-
version: 0.9.2
|
|
142
|
-
- !ruby/object:Gem::Dependency
|
|
143
|
-
name: rake
|
|
144
|
-
requirement: !ruby/object:Gem::Requirement
|
|
145
|
-
requirements:
|
|
146
|
-
- - "~>"
|
|
147
|
-
- !ruby/object:Gem::Version
|
|
148
|
-
version: '13.0'
|
|
149
|
-
type: :development
|
|
150
|
-
prerelease: false
|
|
151
|
-
version_requirements: !ruby/object:Gem::Requirement
|
|
152
|
-
requirements:
|
|
153
|
-
- - "~>"
|
|
154
|
-
- !ruby/object:Gem::Version
|
|
155
|
-
version: '13.0'
|
|
156
|
-
- !ruby/object:Gem::Dependency
|
|
157
|
-
name: require_bench
|
|
158
|
-
requirement: !ruby/object:Gem::Requirement
|
|
159
|
-
requirements:
|
|
160
|
-
- - "~>"
|
|
161
|
-
- !ruby/object:Gem::Version
|
|
162
|
-
version: '1.0'
|
|
163
|
-
- - ">="
|
|
164
|
-
- !ruby/object:Gem::Version
|
|
165
|
-
version: 1.0.4
|
|
166
|
-
type: :development
|
|
167
|
-
prerelease: false
|
|
168
|
-
version_requirements: !ruby/object:Gem::Requirement
|
|
169
|
-
requirements:
|
|
170
|
-
- - "~>"
|
|
171
|
-
- !ruby/object:Gem::Version
|
|
172
|
-
version: '1.0'
|
|
173
|
-
- - ">="
|
|
174
|
-
- !ruby/object:Gem::Version
|
|
175
|
-
version: 1.0.4
|
|
176
|
-
- !ruby/object:Gem::Dependency
|
|
177
|
-
name: appraisal2
|
|
178
|
-
requirement: !ruby/object:Gem::Requirement
|
|
179
|
-
requirements:
|
|
180
|
-
- - "~>"
|
|
181
|
-
- !ruby/object:Gem::Version
|
|
182
|
-
version: '3.0'
|
|
183
|
-
- - "~>"
|
|
184
|
-
- !ruby/object:Gem::Version
|
|
185
|
-
version: 3.0.3
|
|
186
|
-
type: :development
|
|
187
|
-
prerelease: false
|
|
188
|
-
version_requirements: !ruby/object:Gem::Requirement
|
|
189
|
-
requirements:
|
|
190
|
-
- - "~>"
|
|
191
|
-
- !ruby/object:Gem::Version
|
|
192
|
-
version: '3.0'
|
|
193
|
-
- - "~>"
|
|
194
|
-
- !ruby/object:Gem::Version
|
|
195
|
-
version: 3.0.3
|
|
196
|
-
- !ruby/object:Gem::Dependency
|
|
197
|
-
name: kettle-test
|
|
198
|
-
requirement: !ruby/object:Gem::Requirement
|
|
199
|
-
requirements:
|
|
200
|
-
- - "~>"
|
|
201
|
-
- !ruby/object:Gem::Version
|
|
202
|
-
version: '1.0'
|
|
203
|
-
- - ">="
|
|
204
|
-
- !ruby/object:Gem::Version
|
|
205
|
-
version: 1.0.10
|
|
206
|
-
type: :development
|
|
207
|
-
prerelease: false
|
|
208
|
-
version_requirements: !ruby/object:Gem::Requirement
|
|
209
|
-
requirements:
|
|
210
|
-
- - "~>"
|
|
211
|
-
- !ruby/object:Gem::Version
|
|
212
|
-
version: '1.0'
|
|
213
|
-
- - ">="
|
|
214
|
-
- !ruby/object:Gem::Version
|
|
215
|
-
version: 1.0.10
|
|
216
|
-
- !ruby/object:Gem::Dependency
|
|
217
|
-
name: ruby-progressbar
|
|
218
|
-
requirement: !ruby/object:Gem::Requirement
|
|
219
|
-
requirements:
|
|
220
|
-
- - "~>"
|
|
221
|
-
- !ruby/object:Gem::Version
|
|
222
|
-
version: '1.13'
|
|
223
|
-
type: :development
|
|
224
|
-
prerelease: false
|
|
225
|
-
version_requirements: !ruby/object:Gem::Requirement
|
|
226
|
-
requirements:
|
|
227
|
-
- - "~>"
|
|
228
|
-
- !ruby/object:Gem::Version
|
|
229
|
-
version: '1.13'
|
|
230
|
-
- !ruby/object:Gem::Dependency
|
|
231
|
-
name: stone_checksums
|
|
232
|
-
requirement: !ruby/object:Gem::Requirement
|
|
233
|
-
requirements:
|
|
234
|
-
- - "~>"
|
|
235
|
-
- !ruby/object:Gem::Version
|
|
236
|
-
version: '1.0'
|
|
237
|
-
- - ">="
|
|
238
|
-
- !ruby/object:Gem::Version
|
|
239
|
-
version: 1.0.3
|
|
240
|
-
type: :development
|
|
241
|
-
prerelease: false
|
|
242
|
-
version_requirements: !ruby/object:Gem::Requirement
|
|
243
|
-
requirements:
|
|
244
|
-
- - "~>"
|
|
245
|
-
- !ruby/object:Gem::Version
|
|
246
|
-
version: '1.0'
|
|
247
|
-
- - ">="
|
|
248
|
-
- !ruby/object:Gem::Version
|
|
249
|
-
version: 1.0.3
|
|
250
|
-
- !ruby/object:Gem::Dependency
|
|
251
|
-
name: gitmoji-regex
|
|
252
|
-
requirement: !ruby/object:Gem::Requirement
|
|
253
|
-
requirements:
|
|
254
|
-
- - "~>"
|
|
255
|
-
- !ruby/object:Gem::Version
|
|
256
|
-
version: '1.0'
|
|
257
|
-
- - ">="
|
|
258
|
-
- !ruby/object:Gem::Version
|
|
259
|
-
version: 1.0.3
|
|
260
|
-
type: :development
|
|
261
|
-
prerelease: false
|
|
262
|
-
version_requirements: !ruby/object:Gem::Requirement
|
|
263
|
-
requirements:
|
|
264
|
-
- - "~>"
|
|
265
|
-
- !ruby/object:Gem::Version
|
|
266
|
-
version: '1.0'
|
|
267
|
-
- - ">="
|
|
268
|
-
- !ruby/object:Gem::Version
|
|
269
|
-
version: 1.0.3
|
|
270
|
-
description: "☯️ Psych::Merge provides smart YAML file merging that preserves comments,
|
|
271
|
-
anchors/aliases, and supports freeze blocks for protecting destination content.
|
|
272
|
-
Perfect for merging configuration templates with customized destination files."
|
|
53
|
+
version: 7.0.0
|
|
54
|
+
description: Psych-backed YAML provider gem for the Structured Merge YAML family.
|
|
273
55
|
email:
|
|
274
|
-
-
|
|
56
|
+
- info@structuredmerge.org
|
|
275
57
|
executables: []
|
|
276
58
|
extensions: []
|
|
277
|
-
extra_rdoc_files:
|
|
278
|
-
- CHANGELOG.md
|
|
279
|
-
- CITATION.cff
|
|
280
|
-
- CODE_OF_CONDUCT.md
|
|
281
|
-
- CONTRIBUTING.md
|
|
282
|
-
- FUNDING.md
|
|
283
|
-
- LICENSE.txt
|
|
284
|
-
- README.md
|
|
285
|
-
- REEK
|
|
286
|
-
- RUBOCOP.md
|
|
287
|
-
- SECURITY.md
|
|
59
|
+
extra_rdoc_files: []
|
|
288
60
|
files:
|
|
289
|
-
- CHANGELOG.md
|
|
290
|
-
- CITATION.cff
|
|
291
|
-
- CODE_OF_CONDUCT.md
|
|
292
|
-
- CONTRIBUTING.md
|
|
293
|
-
- FUNDING.md
|
|
294
|
-
- LICENSE.txt
|
|
295
|
-
- README.md
|
|
296
|
-
- REEK
|
|
297
|
-
- RUBOCOP.md
|
|
298
|
-
- SECURITY.md
|
|
299
61
|
- lib/psych-merge.rb
|
|
300
62
|
- lib/psych/merge.rb
|
|
301
|
-
- lib/psych/merge/comment_tracker.rb
|
|
302
|
-
- lib/psych/merge/conflict_resolver.rb
|
|
303
|
-
- lib/psych/merge/debug_logger.rb
|
|
304
|
-
- lib/psych/merge/diff_mapper.rb
|
|
305
|
-
- lib/psych/merge/emitter.rb
|
|
306
|
-
- lib/psych/merge/file_analysis.rb
|
|
307
|
-
- lib/psych/merge/freeze_node.rb
|
|
308
|
-
- lib/psych/merge/mapping_match_refiner.rb
|
|
309
|
-
- lib/psych/merge/merge_result.rb
|
|
310
|
-
- lib/psych/merge/node_wrapper.rb
|
|
311
|
-
- lib/psych/merge/partial_template_merger.rb
|
|
312
|
-
- lib/psych/merge/smart_merger.rb
|
|
313
63
|
- lib/psych/merge/version.rb
|
|
314
|
-
|
|
315
|
-
homepage: https://github.com/kettle-rb/psych-merge
|
|
64
|
+
homepage: https://github.com/structuredmerge/structuredmerge-ruby
|
|
316
65
|
licenses:
|
|
317
|
-
-
|
|
66
|
+
- AGPL-3.0-only
|
|
67
|
+
- PolyForm-Small-Business-1.0.0
|
|
318
68
|
metadata:
|
|
319
|
-
homepage_uri: https://
|
|
320
|
-
source_code_uri: https://github.com/
|
|
321
|
-
changelog_uri: https://github.com/
|
|
322
|
-
bug_tracker_uri: https://github.com/
|
|
323
|
-
documentation_uri: https://www.rubydoc.info/gems/psych-merge/
|
|
69
|
+
homepage_uri: https://structuredmerge.org
|
|
70
|
+
source_code_uri: https://github.com/structuredmerge/structuredmerge-ruby/tree/v7.0.0
|
|
71
|
+
changelog_uri: https://github.com/structuredmerge/structuredmerge-ruby/blob/v7.0.0/CHANGELOG.md
|
|
72
|
+
bug_tracker_uri: https://github.com/structuredmerge/structuredmerge-ruby/issues
|
|
73
|
+
documentation_uri: https://www.rubydoc.info/gems/psych-merge/7.0.0
|
|
324
74
|
funding_uri: https://github.com/sponsors/pboling
|
|
325
|
-
wiki_uri: https://github.com/
|
|
326
|
-
news_uri: https://www.railsbling.com/tags/psych-merge
|
|
75
|
+
wiki_uri: https://github.com/structuredmerge/structuredmerge-ruby/wiki
|
|
327
76
|
discord_uri: https://discord.gg/3qme4XHNKN
|
|
328
77
|
rubygems_mfa_required: 'true'
|
|
329
|
-
rdoc_options:
|
|
330
|
-
- "--title"
|
|
331
|
-
- psych-merge - ☯️ Intelligent YAML file merging using Psych AST analysis
|
|
332
|
-
- "--main"
|
|
333
|
-
- README.md
|
|
334
|
-
- "--exclude"
|
|
335
|
-
- "^sig/"
|
|
336
|
-
- "--line-numbers"
|
|
337
|
-
- "--inline-source"
|
|
338
|
-
- "--quiet"
|
|
78
|
+
rdoc_options: []
|
|
339
79
|
require_paths:
|
|
340
80
|
- lib
|
|
341
81
|
required_ruby_version: !ruby/object:Gem::Requirement
|
|
342
82
|
requirements:
|
|
343
83
|
- - ">="
|
|
344
84
|
- !ruby/object:Gem::Version
|
|
345
|
-
version:
|
|
85
|
+
version: 4.0.0
|
|
346
86
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
|
347
87
|
requirements:
|
|
348
88
|
- - ">="
|
|
349
89
|
- !ruby/object:Gem::Version
|
|
350
90
|
version: '0'
|
|
351
91
|
requirements: []
|
|
352
|
-
rubygems_version: 4.0.
|
|
92
|
+
rubygems_version: 4.0.10
|
|
353
93
|
specification_version: 4
|
|
354
|
-
summary:
|
|
94
|
+
summary: Structured Merge Psych-backed YAML analysis for Ruby
|
|
355
95
|
test_files: []
|
metadata.gz.sig
CHANGED
|
Binary file
|