code: function (key) {
          var ret = emberA();
          var seen = new _emberMetalEmpty_object.default();
  
          this.forEach(function (item) {
            var guid = _emberMetalUtils.guidFor(_emberMetalProperty_get.get(item, key));
            if (!(guid in seen)) {
              seen[guid] = true;
              ret.push(item);
            }
          });
  
          return ret;
        }
docs: Returns a new enumerable that contains only items containing a unique property value.
  The default implementation returns an array regardless of the receiver type.
  ```javascript
  var arr = [{ value: 'a' }, { value: 'a' }, { value: 'b' }, { value: 'b' }];
  arr.uniqBy('value');  // [{ value: 'a' }, { value: 'b' }]
  ```
  @method uniqBy
  @return {Ember.Enumerable}
  @public