4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
|
# File 'lib/openapi_parser/concerns/findable.rb', line 4
def find_object(reference)
return nil unless reference.start_with?(object_reference)
return self if object_reference == reference
@find_object_cache = {} unless defined? @find_object_cache
if (obj = @find_object_cache[reference])
return obj
end
if (child = _openapi_all_child_objects[reference])
@find_object_cache[reference] = child
return child
end
_openapi_all_child_objects.values.each do |c|
if (obj = c.find_object(reference))
@find_object_cache[reference] = obj
return obj
end
end
nil
end
|