Method: JSONSchemer::Result#detailed

Defined in:
lib/json_schemer/result.rb

#detailedObject



86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
# File 'lib/json_schemer/result.rb', line 86

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