Method: JSONSchemer::Result#classic

Defined in:
lib/json_schemer/result.rb

#classicObject



112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
# File 'lib/json_schemer/result.rb', line 112

def classic
  Enumerator.new do |yielder|
    unless valid
      results = [self]
      while result = results.pop
        if result.ignore_nested || !result.nested&.any?
          yielder << result.to_classic
        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_classic if (results.size - previous_results_size) == 0
        end
      end
    end
  end
end