28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
|
# File 'lib/json_data_extractor/extractor.rb', line 28
def (schema)
schema.each do |key, val|
element = JsonDataExtractor::SchemaElement.new(val.is_a?(Hash) ? val : { path: val })
= JsonPath.on(@data, element.path) if element.path
if .nil? || .empty?
@results[key] = element.fetch_default_value
next
end
.map! { |item| item.nil? ? element.fetch_default_value : item }
= apply_modifiers(, element.modifiers) if element.modifiers.any?
@results[key] = element.maps.any? ? apply_maps(, element.maps) :
@results[key] = resolve_result_structure(@results[key], element)
end
@results
end
|