Method: Puppet::Pops::Serialization::JsonPath::Resolver#resolve_AccessExpression

Defined in:
lib/puppet/pops/serialization/json_path.rb

#resolve_AccessExpression(ast, context, path) ⇒ Object

This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.



58
59
60
61
62
63
64
65
66
67
# File 'lib/puppet/pops/serialization/json_path.rb', line 58

def resolve_AccessExpression(ast, context, path)
  bad_json_path(path) unless ast.keys.size == 1
  receiver = resolve_any(ast.left_expr, context, path)
  key = resolve_any(ast.keys[0], context, path)
  if receiver.is_a?(Types::PuppetObject)
    PCORE_TYPE_KEY == key ? receiver._pcore_type : receiver.send(key)
  else
    receiver[key]
  end
end