Method: SchemaTools::RefResolver._retrieve_pointer_from_object

Defined in:
lib/schema_tools/ref_resolver.rb

._retrieve_pointer_from_object(pointer, object) ⇒ Object



57
58
59
60
61
62
63
64
65
66
67
68
69
70
# File 'lib/schema_tools/ref_resolver.rb', line 57

def self._retrieve_pointer_from_object pointer, object
  # assume path to be the JSONPointer expression:
  #  json/pointer/expression
  # and obj to be the ruby hash representation of the json
  path = pointer.is_a?(Array) ? pointer : pointer.split("/")

  while object != nil && component = path.shift
    prev   = object
    component = component.to_i if object.is_a?(Array) && component =~ /^\d+$/
    object = object[component]
  end

  return object
end