public/lib/emberjs/ember.js
function handlebarsGet(root, path, options) {
      var data = options && options.data;
      var normalizedPath = normalizePath(root, path, data);
      var value;

      // In cases where the path begins with a keyword, change the
      // root to the value represented by that keyword, and ensure
      // the path is relative to it.
      root = normalizedPath.root;
      path = normalizedPath.path;

      // Ember.get with a null root and GlobalPath will fall back to
      // Ember.lookup, which is no longer allowed in templates.
      //
      // But when outputting a primitive, root will be the primitive
      // and path a blank string. These primitives should pass through
      // to `get`.
      if (root || path === '') {
        value = get(root, path);
      }

      if (detectIsGlobal(path)) {
        if (value === undefined && root !== Ember.lookup) {
          root = Ember.lookup;
          value = get(root, path);
        }
        if (root === Ember.lookup || root === null) {
          Ember.deprecate("Global lookup of "+path+" from a Handlebars template is deprecated.");
        }
      }

      return value;
    }
function handlebarsGet(root, path, options) {
      var data = options && options.data;
      var normalizedPath = normalizePath(root, path, data);
      var value;

      // In cases where the path begins with a keyword, change the
      // root to the value represented by that keyword, and ensure
      // the path is relative to it.
      root = normalizedPath.root;
      path = normalizedPath.path;

      // Ember.get with a null root and GlobalPath will fall back to
      // Ember.lookup, which is no longer allowed in templates.
      //
      // But when outputting a primitive, root will be the primitive
      // and path a blank string. These primitives should pass through
      // to `get`.
      if (root || path === '') {
        value = get(root, path);
      }

      if (detectIsGlobal(path)) {
        if (value === undefined && root !== Ember.lookup) {
          root = Ember.lookup;
          value = get(root, path);
        }
        if (root === Ember.lookup || root === null) {
          Ember.deprecate("Global lookup of "+path+" from a Handlebars template is deprecated.");
        }
      }

      return value;
    }
function handlebarsGet ( root , path , options ) { var data = options && options . data ; var normalizedPath = normalizePath ( root , path , data ) ; var value ; // In cases where the path begins with a keyword, change the // root to the value represented by that keyword, and ensure // the path is relative to it. root = normalizedPath . root ; path = normalizedPath . path ; // Ember.get with a null root and GlobalPath will fall back to // Ember.lookup, which is no longer allowed in templates. // // But when outputting a primitive, root will be the primitive // and path a blank string. These primitives should pass through // to `get`. if ( root || path === '' ) { value = get ( root , path ) ; } if ( detectIsGlobal ( path ) ) { if ( value === undefined && root !== Ember . lookup ) { root = Ember . lookup ; value = get ( root , path ) ; } if ( root === Ember . lookup || root === null ) { Ember . deprecate ( "Global lookup of " + path + " from a Handlebars template is deprecated." ) ; } } return value ; }
Lookup both on root and on window. If the path starts with
a keyword, the corresponding object will be looked up in the
template's data hash and used to resolve the path.

@method get
@for Ember.Handlebars
@param {Object} root The object to look up the property on
@param {String} path The path to be lookedup
@param {Object} options The template's option hash
Lookup both on root and on window . If the path starts with a keyword the corresponding object will be looked up in the template s data hash and used to resolve the path .