Method: JSONSchemer::Result#detailed

Defined in:
lib/json_schemer/result.rb

#detailedObject



136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
# File 'lib/json_schemer/result.rb', line 136

def detailed
  return to_output_unit if ignore_nested || !nested&.any?
  matching_results = nested.select { |nested_result| nested_result.valid == valid }
  if matching_results.size == 1
    matching_results.first.detailed
  else
    out = to_output_unit
    if matching_results.any?
      out[nested_key] = Enumerator.new do |yielder|
        matching_results.each { |nested_result| yielder << nested_result.detailed }
      end
    end
    out
  end
end