Sha256: 10444286361a7dc39e07c4dc921d1ca4b7e288460b9a4d065110da4af8d43f8a
Contents?: true
Size: 819 Bytes
Versions: 25
Compression:
Stored size: 819 Bytes
Contents
module OpenAPIParser::Findable # @param [String] reference # @return [OpenAPIParser::Findable] 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 def purge_object_cache @find_object_cache = {} _openapi_all_child_objects.values.each(&:purge_object_cache) end end
Version data entries
25 entries across 25 versions & 1 rubygems