code: function filterBy(dependentKey, propertyKey, value) {
      var callback;
  
      if (arguments.length === 2) {
        callback = function (item) {
          return _emberMetalProperty_get.get(item, propertyKey);
        };
      } else {
        callback = function (item) {
          return _emberMetalProperty_get.get(item, propertyKey) === value;
        };
      }
  
      return filter(dependentKey + '.@each.' + propertyKey, callback);
    }
docs: Filters the array by the property and value
  
  ```javascript
  var Hamster = Ember.Object.extend({
  remainingChores: Ember.computed.filterBy('chores', 'done', false)
  });
  
  var hamster = Hamster.create({
  chores: [
  { name: 'cook', done: true },
  { name: 'clean', done: true },
  { name: 'write more unit tests', done: false }
  ]
  });
  
  hamster.get('remainingChores'); // [{ name: 'write more unit tests', done: false }]
  ```
  
  @method filterBy
  @for Ember.computed
  @param {String} dependentKey
  @param {String} propertyKey
  @param {*} value
  @return {Ember.ComputedProperty} the filtered array
  @public