openapi-sourcetools 0.4.1 → 0.4.2
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
- data/bin/openapi-merge +26 -21
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 205e65ab29d8392a612d241cf0afc0197aba2884c076a7cbeb6523399520e573
|
4
|
+
data.tar.gz: f3cc5e36a89cc174c260a695c5e7d21914660ad8c3813e15d78b03409a964373
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: ec20a103c6150baccb9d8ff315bdf3849993fd977ef4738c251f77aefc07b9dbc4f6521e55b14445d07df04dde2cf307bd0d025a33d124b272fea0052f69a956
|
7
|
+
data.tar.gz: 6c763b05cf087a982a53106ca9f889c221cea2788c57fddb1e120b1287f15a8a7d4e42711e0c24c1b87f79187b38f27cf431de918502609317d35deedfe0d170
|
data/bin/openapi-merge
CHANGED
@@ -127,30 +127,35 @@ def gather_refs(doc, found)
|
|
127
127
|
end
|
128
128
|
|
129
129
|
if env(:prune)
|
130
|
-
|
131
|
-
|
132
|
-
|
133
|
-
|
134
|
-
|
135
|
-
|
136
|
-
|
137
|
-
|
138
|
-
|
139
|
-
item =
|
140
|
-
|
141
|
-
|
142
|
-
|
143
|
-
|
144
|
-
|
145
|
-
|
146
|
-
|
147
|
-
|
148
|
-
|
149
|
-
|
130
|
+
prev_refs = Set.new
|
131
|
+
loop do # May have references from deleted so repeat until nothing deleted.
|
132
|
+
refs = Set.new
|
133
|
+
gather_refs(merged, refs)
|
134
|
+
used = {}
|
135
|
+
all = merged.fetch('components', {})
|
136
|
+
refs.each do |ref|
|
137
|
+
p = ref.split('/')
|
138
|
+
p.shift(2)
|
139
|
+
item = all
|
140
|
+
p.each do |key|
|
141
|
+
item = item.fetch(key, nil)
|
142
|
+
break if item.nil?
|
143
|
+
end
|
144
|
+
next if item.nil?
|
145
|
+
sub = used
|
146
|
+
p.each_index do |k|
|
147
|
+
if k + 1 < p.size
|
148
|
+
sub[p[k]] = {} unless sub.has_key? p[k]
|
149
|
+
sub = sub[p[k]]
|
150
|
+
else
|
151
|
+
sub[p[k]] = item
|
152
|
+
end
|
150
153
|
end
|
151
154
|
end
|
155
|
+
merged['components'] = used
|
156
|
+
break if refs == prev_refs
|
157
|
+
prev_refs = refs
|
152
158
|
end
|
153
|
-
merged['components'] = used
|
154
159
|
end
|
155
160
|
|
156
161
|
output = env(:out)
|