anchor.diff:          end
           attributes.concat(nested)
   
  -        # found an array with nested objects
  +      # found an array with nested objects
         elsif value['items'] 
           if value['items']['properties']
             nested = extract_attributes(schema, value['items']['properties'])
  
positive.code: 
          # avoid repetition :}
          description = if descriptions.size > 1
                          descriptions.first.gsub!(/ of (this )?.*/, "")
                          descriptions[1..-1].map { |d| d.gsub!(/unique /, "") }
                          [descriptions[0...-1].join(", "), descriptions.last].join(" or ")
                        else
                          description = descriptions.last
                        end
  
          example = [*examples].map { |e| "`#{e.to_json}`" }.join(" or ")
          attributes << [key, "string", description, example]
  
          # found a nested object
        elsif value['properties']
          nested = extract_attributes(schema, value['properties'])
          nested.each do |attribute|
  
negative.code:         end
          if value['items']['oneOf']
            value['items']['oneOf'].each_with_index do |oneof, index|
            ref,  oneof_definition = schema.dereference(oneof)
            oneof_name = ref ? ref.split('/').last : index
            nested = extract_attributes(schema, oneof_definition['properties'])
            nested.each do |attribute|
              attribute[0] = "#{key}/[#{oneof_name.upcase}].#{attribute[0]}"
            end
            attributes.concat(nested)
          end
        end
  
        # just a regular attribute
        else
          attributes << build_attribute(schema, key, value)
        end
  