code: function getPath(obj, path, allowSkipArrays) {
  	if (path === null || path === undefined) return obj;
  	var cur = obj;
  	var parts = path.split('.');
  	var i;
  	for (i = 0; i < parts.length; i++) {
  		if (isScalar(cur)) return undefined;
  		if (Array.isArray(cur) && allowSkipArrays && !(/^[0-9]+$/.test(parts[i])) && cur.length === 1) {
  			cur = cur[0];
  			i--;
  		} else {
  			cur = cur[parts[i]];
  		}
  	}
  	return cur;
  }
docs: Gets the value at a given path in an object.
  
  @method getPath
  @static
  @param {Object} obj - The object
  @param {String} path - The path, dot-separated
  @param {Boolean} allowSkipArrays - If true: If a field in an object is an array and the
  path key is non-numeric, and the array has exactly 1 element, then the first element
  of the array is used.
  @return {Mixed} - The value at the path