126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
|
# File 'lib/json_schemer/result.rb', line 126
def basic
out = to_output_unit
if nested&.any?
out[nested_key] = Enumerator.new do |yielder|
results = [self]
while result = results.pop
if result.ignore_nested || !result.nested&.any?
yielder << result.to_output_unit
else
previous_results_size = results.size
result.nested.reverse_each do |nested_result|
results << nested_result if nested_result.valid == valid
end
yielder << result.to_output_unit unless (results.size - previous_results_size) == 1
end
end
end
end
out
end
|