Module: OpenapiRuby::Core::RefResolver

Defined in:
lib/openapi_ruby/core/ref_resolver.rb

Class Method Summary collapse

Class Method Details

.ref?(value) ⇒ Boolean

Returns:

  • (Boolean)


16
17
18
# File 'lib/openapi_ruby/core/ref_resolver.rb', line 16

def ref?(value)
  value.is_a?(Hash) && value.key?("$ref")
end

.ref_object(component_type, name) ⇒ Object



12
13
14
# File 'lib/openapi_ruby/core/ref_resolver.rb', line 12

def ref_object(component_type, name)
  {"$ref" => ref_path(component_type, name)}
end

.ref_path(component_type, name) ⇒ Object



8
9
10
# File 'lib/openapi_ruby/core/ref_resolver.rb', line 8

def ref_path(component_type, name)
  "#/components/#{component_type}/#{name}"
end

.resolve(ref_string, document) ⇒ Object



20
21
22
23
# File 'lib/openapi_ruby/core/ref_resolver.rb', line 20

def resolve(ref_string, document)
  path = ref_string.delete_prefix("#/").split("/")
  path.reduce(document) { |node, segment| node&.dig(segment) }
end